RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Ваше последнее правило (которое перезаписывает все ) выполняется без каких-либо условий, так что это приведет к перезаписи l oop (ответ с ошибкой 500).
По крайней мере, вам нужно предотвратить дальнейшую перезапись запросов на index.php
. Например:
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Но вы, вероятно, также хотите, чтобы ваши stati c ресурсы также оставались доступными напрямую? Таким образом, исключение запросов, которые сопоставляются с физическими файлами и каталогами, является обычным требованием. Например:
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteRule picture/([a-zA-Z0-9]+)/([a-zA-Z\-0-9/]+).(jpg|png|gif) app/Src/$1Bundle/public/img/$2.$3 [L]
Вы также пропустили любые привязки начала строки (^
) и привязки конца строки ($
) из ваши RewriteRule
выкройки . Это потенциально может привести к слишком большому совпадению - даже совпадению с переписанным URL - другим l oop. Вы должны быть более конкретными c в сопоставлении с шаблоном.