RerwiteRule不适用于localhost

时间:2011-11-04 09:37:17

标签: apache .htaccess

RewriteEngine on
RewriteRule ^([^./]{3}[^.]*)$ /index.php?page=$1 [QSA,L]

当我请求http://localhost/webme/test

时,为什么它不起作用

我在localhost上工作 物理根文件夹是c:\ AppServ \ www \ WebME 该脚本保存在.htaccess的根文件夹

应该重定向到http://localhost/webme/index.php?page=test

1 个答案:

答案 0 :(得分:0)

您的重写正在将/webme/test更改为/index.php?page=test。问题是你的.htaccess文件是在“/ webme /”中还是在文档根目录(“/”)中。

如果您的文档根位于c:\AppServ\www\且.htaccess文件位于webme目录中,则需要在目标中包含“webme”:

RewriteRule ^([^./]{3}[^.]*)$ /webme/index.php?page=$1 [QSA,L]

删除目标中的前导斜杠

RewriteRule ^([^./]{3}[^.]*)$ index.php?page=$1 [QSA,L]

否则,如果您的.htaccess位于文档根目录(“/”)中,那么您需要匹配它:

RewriteRule ^webme/([^./]{3}[^.]*)$ /webme/index.php?page=$1 [QSA,L,NC]