Перенаправления htaccess отправляются домой вместо нового местоположения - PullRequest
1 голос
/ 25 апреля 2019

Я получаю цепочку с моими перенаправлениями. Я немного смущен, почему каждая страница переходит на домашнюю страницу перед новым доменом.

Итак, в приведенном мною единственном примере www.myolddomain.com / 2014/10 / переходит на www.myolddomain.com затем www.mynewdomain. ком

<IfModule mod_rewrite.c>
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$ [NC]
RewriteRule ^/.+ / [R=301,L]
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
</IfModule>

RewriteCond %{HTTP_HOST} ^www\.myolddomain\.com [NC]

#Redirect site
 RewriteRule ^/? https://www.mynewdomain.com? [R=301,L]

#redirects
RewriteRule ^/?2014/10/ https://www.mynewdomain.com/mypage/? [R=301,L]

Мои знания htaccess ограничены, поэтому у меня возникают проблемы с обнаружением проблемы. Буду признателен за любую оказанную помощь. Спасибо

1 Ответ

1 голос
/ 25 апреля 2019

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

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_HOST} ^www\.myolddomain\.com [NC]
RewriteRule ^/? https://www.mynewdomain.com? [R=301,L]

#redirects
RewriteRule ^/?2014/10/ https://www.mynewdomain.com/mypage/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /$ [NC]
RewriteRule ^/.+ / [R=301,L]
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
</IfModule>
...