Rewrite URL after Symfony rewrites rules

The goal is to add the locale "en" at the beginning of the URLs which doesn't have it.

пример

https://example.com/document/file.php

становится

https://example.com/en/document/file.php

The following rule works fine alone:

RewriteCond %{REQUEST_URI} !^/[a-z]{2}/
RewriteRule ^(.*) /en/$1 [R=302,L]

The thing is that I'm stucked in rewriting the URL after the Symfony rules.

  • Определите RewriteBase автоматически и установите его как переменную окружения. RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1]

  • Устанавливает заголовок HTTP_AUTHORIZATION, удаленный Apache RewriteCond %{HTTP:Authorization} . RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  • Удалить app.php из URL RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app_pre_prod\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

  • Добавьте запрошенную страницу в указатель (например, index.php / login) RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ - [L] RewriteRule ^ %{ENV:BASE}/app.php [L]

Лучший результат, который у меня есть: ничего не меняется.

Или путем деактивации третьего правила и удаления флага [L] из последнего, следующий результат:

https://example.com/en/app.php/document/file.php

0 ответов

Другие вопросы по тегам