htaccess RewriteRule избежать цикла - PullRequest
0 голосов
/ 02 июля 2018

Сайт может иметь ссылки вроде: website.com/url; website.com/en/url; website.com/de/url. Я пытаюсь перенаправить все запросы без языкового тега на определенную страницу с помощью этого кода:

RewriteCond %{THE_REQUEST} !/en/(.*)
RewriteCond %{THE_REQUEST} !/de/(.*)
RewriteRule ^(.*)$ /page/$1 [L]

Но получите цикл перенаправления для корневой страницы. Я могу просто исключить домашнюю страницу вот так

RewriteCond %{REQUEST_URI} !^/$

Но я хочу знать, что я делаю неправильно, это способ избежать цикла в этом случае и для домашней страницы?

1 Ответ

0 голосов
/ 02 июля 2018

Иметь это так:

RewriteCond %{REQUEST_URI} !/(?:en|de|page)/ [NC]
RewriteRule .* page/$0 [L]

Важно, что вам нужно добавить /page/ в список исключений, поскольку ваше правило переписывается на /page/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...