Ссылки SEF с ошибкой mod_rewrite 500

Эй, я хочу переписать мои ссылки

mydomain.com/?page=pageName

в

mydomain.com/pageName

Я пробовал с

RewriteEngine On
RewriteRule ^([^/]*)$ /?page=$1 [L]

но, похоже, выдает ошибку 500

1 ответ

Решение

У вас есть бесконечный цикл из-за вашего правила.
Вы должны добавить условие, чтобы избежать его

RewriteEngine On

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

РЕДАКТИРОВАТЬ: принимая во внимание ваши комментарии

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_URI} ^/(index\.php)?$
RewriteRule ^ - [L]

RewriteRule ^([^/]*)/([^/]*)$ /?page=$1&id=$2 [L]
RewriteRule ^([^/]*)$ /?page=$1 [L]
Другие вопросы по тегам