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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache如何开启Mod_rewrite模块以及PHPWind伪静态(全伪)相关的知识,希望对你有一定的参考价值。

一 开启Mod_rewrite模块打开Apache2\conf\httpd.conf搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)去掉前面的#搜索AllowOverride None 替换为 AllowOverride All有好几个找到和下面代码类似的那个</IfModule## "D:\usr\local\Apache2\cgi-bin" should be changed to whatever your ScriptAliased# CGI directory exists, if you have that configured.#<Directory "D:\usr\local\Apache2\cgi-bin"AllowOverride AllOptions NoneOrder allow,denyAllow from all</Directory二 在Apache2\conf\httpd.conf 最后一行添加<IfModule mod_rewrite.cRewriteEngine OnRewriteRule ^(.*)-htm-(.*)$ $1.php?$2 参考技术A

<VirtualHost *:80>

DocumentRoot D:/www

ServerName localhost

RewriteEngine on

#规则放在下面即可

</VirtualHost>

可以对每个虚拟主机做单独的URL Rewrite

自己创建一个.htaccess或从godaddy空间backups文件夹中拷贝一个出来到网站根目录,打开并添加如下代码:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^(.*)-htm-(.*)$ $1.php?$2

</IfModule>

保存。

OK!

Ubuntu系统启用Apache Mod_rewrite模块

在终端中执行

sudo a2enmod rewrite

指令后,即启用了 Mod_rewrite 模块。

另外,也可以通过将 /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 规则也就不能生效了。

也就是

<Directory /var/www/wechatplugin/web/>
AllowOverride All
Options Indexes FollowSymLinks
</Directory>

 

最后,别忘了使用下列指令来重启 Apache:

sudo /etc/init.d/apache2 restart.

以上是关于Apache如何开启Mod_rewrite模块以及PHPWind伪静态(全伪)的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu Apache配置及开启mod_rewrite模块

apache mod_rewrite 模块未安装

CentOs中Apache开启rewrite模块详解

在Apache中使用mod_rewrite模块重写URL

Resin的Rewrite模块重写URL后如何对页面访问?

Ubuntu系统启用Apache Mod_rewrite模块