Назад | Перейти на главную страницу

Понимание синтаксиса mod_rewrite

Когда я пишу .htaccess этот mod_rewrite

 RewriteEngine on
 RewriteRule ^(.*)\.my_extension$ $1.php

и открытый URL: site.com/index.my_extension это отлично работает, открыл index.php

Но когда я пробую mod_rewrite вот так:

 RewriteEngine on
 RewriteRule ^(.*)$ index.php?url=$1

это дает мне Internal Server Error.

Почему это произошло? в чем причина?

RewriteEngine on
RewriteCond %{REQUEST_URI} !(index.php)
RewriteRule ^(.*)$ index.php?url=$1

У вас есть цикл перенаправления, вам нужно исключить index.php из правил.