apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]

Posted 南岗V哥的部落格

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]相关的知识,希望对你有一定的参考价值。

 

在UBUNTU系统中要启用mod_rewrite的方法有两种:

第一种: 在终端中执行 sudo a2enmod rewrite 指 令后,即启用了 Mod_rewrite 模块, apache2服务器的模块启用方法就和虚拟主机的同IP多域名的启用方法一样, 所有的模块都在/etc/mods-available/文件夹下, a2enmod rewrite 这个命令其实就是把该模块名链接到/etc/apache2/mods-enabled/文件夹下, 如图(命令: ls -la /etc/apache2/mods-enabled/)

技术分享

打开这个模块文件(/etc/apache2/mods-enabled/rewrite.load)看一下:

技术分享

看到这里,相信大家都感觉很熟悉吧? 原来它也是定义一个路径而已, 它真正的文件是这个:/usr/lib/apache2/modules/mod_rewrite.so, 你去看一下, 发现都是乱码, 不用管它, 可以用就行了;

第二种: 也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2 /mods-enabled/rewrite.load 来打开 Mod_rewrite 模块。其命令是: sudo ln -s /etc /apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load 

一点小提示 事实上,当我在 Ubuntu 中采用上述做法并重启了 Apache 服务后,仍然无法正常 rewrite 网址。

这里,还有一点需要注意的地方: sudo vim /etc/apache2/sites-enabled/000-default 将其中的: AllowOverride None 修改为: AllowOverride All 上面的 /etc/apache2/sites-enabled/000-default 实则为 /etc/apache2/sites-available/default 的连接。而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。 最后,别忘了使用下列指令来重启 Apache: 

$sudo /etc/init.d/apache2 restart

或者通过以下的命令:

#service apache2 restart  (推荐使用此种方法来重启apache2)

source: http://hi.baidu.com/tonny_dxf/item/7701781b30cca15bf0090e50

以上是关于apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]的主要内容,如果未能解决你的问题,请参考以下文章

Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤

Apache如何开启Mod_rewrite模块以及PHPWind伪静态(全伪)

apache mod_rewrite 模块未安装

Ubuntu Apache配置及开启mod_rewrite模块

Apache2 - 使用 mod_rewrite 代理到另一个域

ThinkPHP去掉URL中的index.php