Windows下开启apache Mod_rewrite模块,实现固定链接的正常化

      近来在使用wordpress博客程序的时候,在使用“固定链接设置”的时候,发现只能使用“默认”的形式,即:http://www.lucktu.com/?p=123 的格式,使用其他格式时,在前台访问网页时都会出错,如下(本地安装 wordpress 测试时出错的信息):

Object not found!The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
If you think this is a server error, please contact the [email=webmaster@localhost]webmaster[/email].
Error 404 127.0.0.1
05/22/09 12:33:08
Apache/2.2.9 (APMServ) mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6

      当然也可以使用这样的格式不会出错,就是在“自定义结构”的前面加入index.php(例如:/index.php/%year%/%monthnum%/%postname%/),实际前台显示为 http://www.lucktu.com/index.php/2009/05/... 的样子,但又有谁会这样使用呢。

      经过咨询高手,以及结合自己的实践,现在就介绍一下自己的处理方法(总的来说,就是开启 rewrite 模块功能):

一、本地测试(Windows XP)的时候需要修改的方法:

      用写字板打开 Apache\conf\httpd.conf

      搜索 LoadModule rewrite_module modules/mod_rewrite.so  (Apache2是这个),去掉前面的#(我的本来就是这样,因此不需要修改)。

      搜索AllowOverride None,有好几个找到和下面代码类似的那个 (实在不知道,可以一个一个的试,大概有5个左右,全改也可以——我在本地就是全改通过的,测试嘛,无所谓;可能是不安全吧,建议只改那一处),替换为 AllowOverride All
<Directory "C:/Program Files/EasyPHP 2/www">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

      改完以后要注意保存的格式;而且,你保存以后要将 Apache 重新启动一下(终止,再启动)才会生效啊。

二、虚拟服务器端 (Linux) 的修改:

      登录虚拟服务器的客户端,找到“主机功能设置”里面的“.htaccess支持”(支持.htaccess _ 即Appache的Rewrite功能,可以支持虚拟静态),将他选上确认即生效,很简单吧。

      本站的另外一篇文章:Windows2003 IIS下的wordpress固定链接及NPointHost使用感受

      祝你好运!!


66.67%(4)

33.33%(2)
发表评论?

3 条评论。

  1. 好啊,到时我也丰富一下这里的文章。 :smile:

  2. 谢谢你的邮件回复,我的是IIS6.0,没有Mod_rewrite模块,所以我后来就用了改404的方法,你给的404代码我试了不行,我后来用了一个外国人写的代码,然后就行了,有空我也写到博客里!总算解决了,呵呵~~

回复给 iruizhi ¬
取消回复

*