Как перенаправить домен onr (с языком локальной папки) на два домена? - PullRequest
0 голосов
/ 22 февраля 2019

У меня был домен:

exa.mple -> голландская версия exa.mple / en -> английская версия

Теперь у меня есть

example.nl example.com

Я хотел бы перенаправить все URL-адреса из exa.mple / en в example.com/$ и exa.mple в example.nl

У меня естьэтот код:

#exa.mple/en to .com
RewriteCond %{HTTP_HOST} ^exa.mple/en$ [OR]
RewriteCond %{HTTP_HOST} ^www.exa.mple/en$
RewriteRule (.*)$ "https://example.com/$1" [R=301,L]

#exa.mple to .nl
RewriteCond %{HTTP_HOST} ^exa.mple$ [OR]
RewriteCond %{HTTP_HOST} ^www.exa.mple$
RewriteRule (.*)$ "https://example.nl/$1" [R=301,L]

Но есть проблема, если у меня есть этот сайт:

https://exa.mple/en/contact

Тогда я получаю: https://example.nl/en/contact

Сомоне может помочь мне с этим, как избежать, если URL содержит / en / для перенаправления на домен NL?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Я создал этот код, и все работает нормально:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^en/(.*)$ https://example.com/$1 [R=301,L]

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^exa.mple$
RewriteRule ^(?!en)(.*)$ https://example.nl/$1 [R=301,L]
0 голосов
/ 22 февраля 2019

Вы можете использовать это:

RewriteEngine on

#ex.mple.com/en to .com
RewriteCond ℅{HTTP_HOST} ^exa.mple$
RewriteRule ^en.*$ http://example.com%{REQUEST_URI} [L,NE,R=301]
#exa.mple.com/ to .nl
RewriteCond ℅{HTTP_HOST} ^exa.mple$
RewriteRule ^.*$ http://example.nl%{REQUEST_URI} [L,NE,R=301]

Второе правило перенаправляет все запросы с exa.pmle на example.nl.Если вы хотите перенаправить только домашнюю страницу, просто измените шаблон регулярного выражения на ^$.

. Прежде чем тестировать эти новые правила, обязательно очистите кеш браузера.

...