注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

Windows下让Apache支持rewrite和.htaccess  

2012-11-13 20:48:27|  分类: apache |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://sexywp.com/how-to-config-mod-rewrite-in-win.htm

作为一个使用WordPress博客的玩家,我为了调试各式各样的主题和插件,不得不自己搭建一套开发环境。由于现在个人电脑都是Windows,所以也就自然而然的使用了Win+Apache+MySQL+PHP了。

不过这样的开发环境还是有很多问题的,比如我这两天想看看永久链接的效果,发现设定了永久链接后,竟然除了主页每一页都变成了HTTP404,这个……原来是我的Apache没有支持mod_rewrite。

于是乎,我网上google解决的办法,找到的最多的是“windows环境下apache rewrite配置”这么一篇文章。

该文章介绍的办法之说对了一部分。按照做了以后,并不能解决问题,尤其是其关于AddModule的那个说明,我用Test Configuration测试,发现AddModule这个指令并不正确。可能是那片文章较老,而我现在用的是最新的Apache2.2所致。不过,最终,我还是找到了正确的办法的,特意记录在此,希望能为后来的朋友解决问题。

首先查看一下你的phpinfo(),如果在apache2handler的Loaded Modules 中找到了mod_rewrite 那么说明你的rewrite module已经加载了。如果没有开启“mod_rewrite”,则打开您的apache安装目录“/apache/conf/”下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule”区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

全部设定妥当后,我又进行了一次尝试,咦,为什么WordPress中设置的永久链接还是无效呢?问题在这里:
<Directory “E:/www”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

看到我加粗的那行了吧,AllowOverride指令,决定了你的.htaccess是否生效,如果你在调试永久链接的时候发现不起作用,不一定只是因为mod_rewrite没有加载,还有可能是httpd.conf设置不对造成的哦~~

 

来源:http://www.piaoyi.org/php/Windows-Apache-rewrite-htaccess.html

有时为了调试php的方便,flymorn需要在我的windows系统上安装Apache+MySQL+PHP环境,PHP环境安装完成后,调试程序时如WordPress、ShopEX经常需要用到URL重写rewrite规则和.htaccess配置,而默认windows下的apache是不支持的,其实启用重写规则也很简单。

    flymorn的环境是 Apache/2.2.8 (Win32) PHP/5.2.5 ,两个步骤即可启用URL重写。

    第一步,查看一下你的phpinfo(),如果在apache2handler的Loaded Modules 中找到了mod_rewrite 那么说明你的rewrite module已经加载了。如果没有开启“mod_rewrite”,则打开您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的"#"号删除即可;如果没有查找到,则到“LoadModule”区域,在最后一行加入 “LoadModule rewrite_module modules/mod_rewrite.so”(独占一行)。(参考

    第二步,httpd.conf 文件里 查找“<Directory />”把里面的 AllowOverride None 改成 AllowOverride all 即可,改完后的代码如下(注意红色代码):

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    allow from all
</Directory>

    到这里重启apache服务,飘易的windows下的URL重写rewrite规则已经启用,赶紧去配置 .htaccess文件,看看你的程序里的伪静态是不是已经成功启用了。

  评论这张
 
阅读(597)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017