Htaccess RewriteRule给出内部服务器错误

时间:2019-05-16 07:08:40

标签: php .htaccess url-rewriting

我正在为我的网站使用htaccess RewriteRule规则,我以两种方式尝试过它,第一种有效,而第二种无效。这是我的代码

有效

RewriteRule ^article/(.*)$ /article-detail.php?slug=$1 [L]

它不起作用(仅使用文件夹)

RewriteRule ^article/(.*)$ /article/article-detail.php?slug=$1 [L]

第二种方法是给出内部服务器错误。你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

RewriteRule ^article/(.*)$ /article/article-detail.php?slug=$1 [L]

您的第二条规则不起作用,因为您的正则表达式模式同时匹配源URL和目标URL,这将导致重写循环并导致500错误。

您可以添加RewriteCond来防止此行为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/(.+)$ article/article-detail.php?slug=$1 [L,QSA,NC]
相关问题