网址重写=>内部服务器错误

时间:2015-02-18 17:34:34

标签: mod-rewrite rewrite mode

每次在我的.htaccess文件中实现此代码进行模式重写时,我都会收到内部服务器错误:

RewriteEngine On 
RewriteRule ^([^/]*)\.php$ /index.php?site=$1 [L]

我想转换:

www.mydomain.com/index.php?site=mysite

www.mydomain.com/mysite.php

错误:

Internal Server Error

非常感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:0)

您的规则导致无限循环,因为它正在重写以.php结尾的所有请求。这也包括index.php,因此最终会一次又一次地将其重写为index.php,依此类推......

只需在规则中添加排除它的条件。

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/index\.php [NC]
RewriteRule ^([^/]*)\.php$ /index.php?site=$1 [L]