每次在我的.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
非常感谢任何帮助,谢谢
答案 0 :(得分:0)
您的规则导致无限循环,因为它正在重写以.php
结尾的所有请求。这也包括index.php
,因此最终会一次又一次地将其重写为index.php
,依此类推......
只需在规则中添加排除它的条件。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index\.php [NC]
RewriteRule ^([^/]*)\.php$ /index.php?site=$1 [L]