2016-01-08 3 views
0

надеюсь, что некоторые могут мне помочь.Три 301 переадресации

У меня есть блог Wordpress с 3 доменами .com, .es и .net. Цель .com - цель.

И я хочу перенаправить с не-www на www, а также.

Переадресация с .es на .com отлично работает и .net на .com тоже. Но когда я добавляю перенаправление с не-www на www, не работает, и сайт не загружается.

Это мой файл .htaccess ...

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} ^myblog.com [NC] 
RewriteRule ^(.*)$ http://www.myblog.com/$1 [L,R=301,NC] 

#RewriteCond %{HTTP_HOST} ^myblog.es$ [OR] 
#RewriteCond %{HTTP_HOST} ^www.myblog.es$ 
#RewriteRule ^(.*)$ "http\:\/\/www\.myblog\.com/$1" [R=301,L] 

RewriteCond %{HTTP_HOST} ^myblog\.es$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.myblog\.es$ 
RewriteRule ^(.*)$ "http\:\/\/myblog\.com\/$1" [R=301,L] 

RewriteCond %{HTTP_HOST} ^myblog.net [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.myblog.net [NC] 
RewriteRule ^(.*)$ http://www.myblog.com/$1 [L,R=301,NC] 
+0

Если у вас есть вкладку открытой сети в Firefox/Chrome, то, что перенаправляет вас сделать см. происходящее? –

+0

Когда я набираю myblog.com и, как ожидается, будет перенаправлен на www.myblog.com, на вкладке сети отображается метод GET, домен myblog.com и следующий ряд www.myblog.com, но он просто продолжает делать это, и сайт не загружается. – Mad72

+0

У вас есть два разных RewriteCond, соответствующих 'myblog.es, www.myblog.es', но с разными результатами. (первый переадресовывается на 'www.myblog.com', другой - на' myblog.com', который затем будет перенаправлен на 'www.myblog.com'. Пожалуйста, отредактируйте выше, чтобы включить точные примеры ввода и вывода URL. браузер запускается, и там, где он должен быть перенаправлен в каждом случае. –

ответ

0

Эти правила должны быть достаточными для ваших нужд:

RewriteEngine On 

# redirect myblog.es and myblog.net (with or without www.) to www.myblog.com 
RewriteCond %{HTTP_HOST} ^(www\.)?myblog\.(es|net)$ 
RewriteRule ^(.*)$ http://www.myblog.com/$1 [R=301,L] 

# Force www on myblog.com 
RewriteCond %{HTTP_HOST} ^myblog.com [NC] 
RewriteRule ^(.*)$ http://www.myblog.com/$1 [L,R=301,NC] 
Смежные вопросы