Я пытаюсь переписать URL-адрес, используя следующее правило:
RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]
и это файл .htaccess, который я создал:
RewriteEngine On RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]
но когда я нажимаю его на свой сервер Heroku, я получаю 500 внутренних ошибок сервера на всех страницах. Что я делаю не так?
благодаря
Я думаю, что основная проблема заключается в том, что вы переписываете правило
попробуйте что-то вроде:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^([^/]+) index.php?id=$1 [L] </IfModule>
Если вы загрузили mod_rewrite, и ваши правила находятся в файле htaccess в вашем корневом каталоге документа. Правила, которые у вас есть, вызывают бесконечный цикл. Вам необходимо добавить условие или два, чтобы предотвратить это:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/curation\.php RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]
Или
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]*)$ /curation.php?id=$1 [L]