Как изменить корневой каталог в htaccess - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть двуязычный веб-сайт, и я хотел решить проблему, создав подкаталог "/en" со всеми страницами внутри него.Я могу добраться до example.com/en/page URL, но я хочу сделать example.com/en корневым каталогом, чтобы при любом перенаправлении на основе "/another-page" вместо example.com/another-page

я пытался использовать.htaccess с помощью следующих команд:

RewriteBase /
RewriteCond %{REQUEST_URI} !^/en/
RewriteCond %{HTTP_HOST} ^(www\.)?localhost:8080\.
RewriteRule ^(.*)$ /en/$1 [L]

Но это не сработало.Любые идеи о том, как я могу сделать эту работу?

1 Ответ

0 голосов
/ 03 декабря 2018

Код, который вы разместили в вопросе, является «переписать», а не «перенаправить» - так что это может быть основной проблемой.Если ваше приложение получает язык от REQUEST_URI, оно не увидит переписанный URL-адрес, содержащий язык.

Попробуйте выполнить следующее в верхней части вашего .htaccess в корне сайта:

RewriteEngine On

RewriteRule !^(en|xx)($|/) /en%{REQUEST_URI} [R,L]

Где xx - это «другой» язык.

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

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