.htaccess规则500内部服务器错误

时间:2017-05-29 22:37:39

标签: .htaccess mod-rewrite

使用此:http://www.generateit.net/mod-rewrite/index.php

我做了重写

www.example.com/index.php?p=page

www.example.com/page

由于某种原因,无论我访问了什么,都会产生500内部服务器错误:

  • www.example.com

  • www.example.com/page

  • www.example.com/index.php?p=page

规则:

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

2 个答案:

答案 0 :(得分:0)

RewriteRule ^([^/]*)$ /index.php?p=$1 [L]

这将导致重写循环(因此您的500错误)。防止重写循环的一种方法是在尝试重写之前检查URL是否已包含p URL参数。例如:

RewriteCond %{QUERY_STRING} !^p=
RewriteRule ^([^/]*)$ /index.php?p=$1 [L]

答案 1 :(得分:-1)

需要添加/:

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