RewriteRule重写为错误的位置

时间:2014-08-15 08:07:19

标签: php apache .htaccess mod-rewrite

我正在使用Mod_Rewrite模块重写网址。

这是我的RewriteRule:

RewriteRule ^index index.php
RewriteRule ^page page.php

如果我要访问localhost / page,则会显示page.php的内容。但是当我转到localhost / index时,url会被重写为:

http://localhost/C:/Users/Username/Documents/Xampp/htdocs/index.php

谢谢。

修改 完整的.htaccess代码:

RewriteEngine On
RewriteBase /
RewriteRule ^page page.php
RewriteRule ^index index.php
RewriteRule ^about about.php
RewriteRule ^contact contact.php

2 个答案:

答案 0 :(得分:0)

这些问题通常通过定义RewriteBasedocs)来解决。将以下指令放在RewriteEngine指令之后,但在您拥有任何规则之前:

RewriteBase /

答案 1 :(得分:0)

使用锚点$

尝试这些规则
RewriteEngine On
RewriteBase /

RewriteRule ^page/?$ page.php [L]
RewriteRule ^index/?$ index.php [L]
RewriteRule ^about/?$ about.php [L]
RewriteRule ^contact/?$ contact.php [L]

或者你可以在.htaccess:

之上尝试这一行
Options +MultiViews