При переходе на мой домен с www в строке URL я получаю двойной домен верхнего уровня - PullRequest
0 голосов
/ 03 июля 2018

Я не уверен, правильно ли я формулирую свой вопрос, но когда я перехожу на www.website.nl, меня перенаправляют на: www.website.nl.nl и если я перехожу на www.website.eu, я перенаправлен на www.website.eu.nl

Это происходит только когда я добавляю www. до моего домена.

Почему это происходит?

Вот что я хочу:

all http to https
all www to non www
all .eu (in fact all other topleveldomains other than .nl) to .nl

Вот как я пытался добиться этого:

DirectoryIndex
RewriteEngine  on
RewriteBase /
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1.nl%{REQUEST_URI} [L,NE,R=301]

Что я делаю не так?

1 Ответ

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

Ваше состояние соответствует всему после www, включая .nl. Вам также нужно другое условие, чтобы проверить, не заканчивается ли доменное имя .nl.

Вам необходимо заменить правило на это правило:

RewriteEngine  on
RewriteBase /

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTP_HOST} !\.nl$ [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+?)(?:\.[^.]+)?$ [NC]
RewriteRule ^ https://%1.nl%{REQUEST_URI} [L,NE,R=301]

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

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