Как исправить URL перенаправления с параметром и изменить язык - PullRequest
0 голосов
/ 04 июня 2019

У меня проблема с правильным перенаправлением с использованием файла htacces.У меня на сайте 3 языка PL, EN и RU.Основным языком является PL, и он работает с экс.https://mypage.domain.pl/, если я добавлю язык параметров следующим образом https://mypage.domain.pl/?language=en, тогда загрузите английскую версию.

Мне нужно что-то вроде этого. Если я поставлю https://en.mypage.domain.pl/, тогда загрузите английскую версию, иЕсли я наберу https://mypage.domain.pl/?language=en, затем перенаправлю на https://en.mypage.domain.pl/ и загрузлю английскую версию.

Я активировал подстановочный знак на сервере.

Это последняя версия, я пытаюсь вручнуюredirect

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Redirect 301 https://ru.dev.dobrestronyinternetowe.pl/ /?language=ru



</IfModule>
# END WordPress

# BEGIN LiteSpeed
<IfModule Litespeed>
SetEnv noabort 1
</IfModule>
# END LiteSpeed

EDIT 2

Я что-то делаю, но это работает на 50%, только субдомен переводит в параметры

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^([^.]+)\.dev\.dobrestronyinternetowe\.pl$ [NC]
RewriteRule ^ http://dev.dobrestronyinternetowe.pl/?language=%1 [L,R]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress

# BEGIN LiteSpeed
<IfModule Litespeed>
SetEnv noabort 1
</IfModule>
# END LiteSpeed

1 Ответ

0 голосов
/ 05 июня 2019

Не уверен, что не работает, но для перенаправления на .domain, где строка запроса содержит язык = , вы можете использовать:

 RewriteCond %{QUERY_STRING} language=([^.]+) [NC]
 RewriteRule .* http://%1.dobrestronyinternetowe.pl/ [L,R]
...