仍在学习研究Ubuntu中的微酷今天又遇到问题了,在Ubuntu10.04下搭建的Apache+PHP+Mysql环境安装了WordPress程序,在WP后台设置了固定链接后前台却无法显示页面,原来要用伪静态的页面,需要启用Apache的rewrite模块

在其他的Linux版本中,这个问题似乎要容易解决一些,但是在ubuntu下,就有点不大一样了,需要通过命令,或者自己重新创建个软连接才可以。

Ubuntu服务器环境中启用Apache的Rewrite模块的方法:

① 终端执行:sudo a2enmod rewrite (即启用了 Mod_rewrite 模块)
或者执行:sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
注:因为Ubuntu下,Apache的配置文件及目录结构不大一样,所以mods-avalilable下的是可用的模块,而真正启用了的模块是在mods-enable目录底下的。所以自己创建软连接也可以实现启用rewrite模块。

事实上,当我在 Ubuntu 中采用上述做法并重启了 Apache 服务后,仍然无法正常 rewrite 网址。请继续往下:

② 除了启用rewrite外,还有地方需要修改的,如果你的站点只有一个,那修改/etc/apache2/sites-available /default这个文件就可以,如果你是虚拟主机的,那就修改自己的/etc/apache2/sites-available /www.vcoo.me.conf(我的虚拟主机配置文件)这个文件了。

<Directory />
Options FollowSymLinks
AllowOverride None(修改为AllowOverride All)
</Directory>
<Directory "/var/www">
Options Indexes FollowSymLinks MultiViews
AllowOverride None(修改为AllowOverride All)
Order allow,deny
allow from all
</Directory>

也可以修改 /etc/apache2/sites-enabled/000-default 文件,它实则为 /etc/apache2/sites-available/default 的连接。而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。

③ 最后重启Apache服务:sudo /etc/init.d/apache2 restart

经过这样三步工作就启用Rewrite模块了,重新打开WP发现页面成功打开。

 

目前有3 条留言

  1. 2010年05月24日 13:13 编程爱好者   |  引用  |  #1     

    Ubuntu貌似很强大的样子

    ifu25 于 2010-5-25 9:45:08 回复

    怎么能说很强大呢,应该是相当强大……

  2. 2010年05月24日 15:16 扯远了   |  引用  |  #2     

    学习,学习,自己的Ubuntu正在调和

    ifu25 于 2010-5-25 9:45:28 回复

    嘎嘎,Ubuntu很好很强大……

  3. 2010年05月25日 19:59 微知博客   |  引用  |  #3     

    友情链接需要做成你现在的域名吗,我那边评论关了,有事去我新开的博客留言www.wisesalon.com,或者给我发邮件,好吧,很不方便,8月份我去搬家就好了

    ifu25 于 2010-5-26 2:18:17 回复

    嗯好啊,把域名换过来吧,现在新域名没PR没排名,所以没要求大家改链接,想等排行上去了再做,要不会有很多人不愿意的。

发表评论

/ 快捷键:Ctrl+Enter
加载中……