Htaccess RewriteRule, выдающий внутреннюю ошибку сервера - PullRequest
0 голосов
/ 16 мая 2019

Я использую правило htaccess RewriteRule для своего сайта, я пробовал его двумя способами: первый работает, а второй не работает.Вот мой код

Он работает

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

Он не работает (просто с помощью папки)

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

Второй способ - дать внутреннюю ошибку сервера.Можете ли вы помочь, пожалуйста.

1 Ответ

1 голос
/ 16 мая 2019
RewriteRule ^article/(.*)$ /article/article-detail.php?slug=$1 [L]

Ваше второе правило не работает, потому что ваш шаблон регулярного выражения совпадает с исходным и целевым URL, что приводит к циклу перезаписи и вызывает ошибку 500.

Вы можете добавить RewriteCond кпредотвратить это поведение:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/(.+)$ article/article-detail.php?slug=$1 [L,QSA,NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...