apache rewrite功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache rewrite功能相关的知识,希望对你有一定的参考价值。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/(.*)$ /index.php/$1 [L,PT]
RewriteRule /a.php/$ b.php/$1
</IfModule>
我确定我模块开启了,就是不能用 我又一个b.php 我用a.php都访问不到
LoadModule Rewrite_module libexec/mod_Rewrite.so
AddModule mod_Rewrite.c
Apache 2.x 的话检查 conf/httpd.conf 中是否存在如下一段代码:
LoadModule Rewrite_module modules/mod_Rewrite.so
还有你的网站是不是通过虚拟主机来定义的,如果是请务必写到<VirtualHost> 里面去。
要重启Apache的。 参考技术A 配置文件里httpd.conf,把AllowOverride None改为AllowOverride All
apache 已经加载模块,但是不能解析出开发的rewrite模块功能
例如 这样配置虚拟域名上正确的DocumentRoot与Directory是有顺序的
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/api"
ServerName api.test.licheepay.com
<Directory "/usr/local/apache/htdocs/api">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/api/%Y-%m-%d/ErrorLog_%H.log"
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/api/%Y-%m-%d/CustomLog_%H.log" common
#ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/api/ErrorLog.%Y-%m-%d-%H_%M_%S.log 10M +480"
#CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/api/CustomLog.%Y-%m-%d-%H_%M_%S.log 20M +480" common
</VirtualHost>
如果是配置了虚拟域名,要在虚拟服务器上加上下面这段,具体可以参考上面 的配置就可以,还要注意的是http.conf是不是对httpd-vhost.conf这个文件包含进来了?需要检查一下
<Directory "/usr/local/apache/htdocs/api">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
以上是关于apache rewrite功能的主要内容,如果未能解决你的问题,请参考以下文章