Я пытаюсь переписатьПочему это правило перезаписи дает мне эту ошибку?
http://localhost/messages/index.php?s=compose
к
http://localhost/messages/compose
, но это дает мне Internal Server Error
RewriteEngine On
RewriteRule ^messages/([^/]*)$ /messages/index.php?s=$1 [L]
Я использую интернет-сайт, где вы можете создать правила, так что должно работа, на сайте я могу сделать правило переписать его на http://localhost/compose.html
, который работает и не дает мне никакой ошибки, но переписывание для http://localhost/messages/compose
дайте мне ROR.
Mod переписывают двигатель на
Это что-то делать с тем, что сообщения является папка/каталог?
Просмотрите журнал ошибок Apache для получения более подробной информации о том, что произошло. Но, скорее всего, это цикл переадресации, в котором 'index.php' снова совпадает с тем же правилом и перезаписывает себя. Добавьте 'RewriteCond% {REQUEST_FILENAME}! -f' перед' RewriteRule'. –
Вы были правы, что RewriteCond исправил это. спасибо – Jorm
Возможный дубликат [mod \ _rewrite петель даже с флагом L] (http://stackoverflow.com/questions/2127131/mod-rewrite-loops-even-with-l-flag) –