2016-05-01 2 views
0

У меня есть небольшая задача решить с .htaccessHtaccess перенаправить 301 без поддомена

Я хочу перенаправить весь мой старый сайт на новый сайт. Однако некоторые ссылки должны быть перенаправлены на конкретный URL нового сайта и всех остальных на домашнюю страницу нового домена. Пример:

из

url 1 - www.old.com/category-A/article-name-A 
url 2 - www.old.com/category-B/article-name-B 
url 3 - www.old.com 
url 4 - www.old.com/subUrl1 
url 5 - www.old.com/subUrl2 

в

url 1 - www.new.com/article-new-A 
url 2 - www.new.com/category-B/article-new-B 
url 3 - www.new.com 
url 4 - www.new.com 
url 5 - www.new.com 

Для первых двух ссылок я использую этот код и он прекрасно работает

redirect 301 /category-A/article-name-A www.new.com/article-new-A 
redirect 301 /category-B/article-name-B www.new.com/category-B/article-new-B 

Проблема для других. Я хочу, чтобы все остальные субдомены сайта будут перенаправлены на новую страницу, без второй части URL (/subUrl1), так что вы не имеете 404 сообщения.

Если я использую

redirect 301/www.new.com 

Я этот результат:

url 3 - www.new.com 
url 4 - www.new.com/subUrl1 (404 page) 
url 5 - www.new.com/subUrl2 (404 page) 

Как создать общий редирект для всех этих других ссылок?

спасибо.

EDIT:добавить вопрос

У меня есть подкаталог с большим количеством типов ссылок:

domain.com/sub/link1 
domain.com/sub/link2 
domain.com/sub/link3 
domain.com/sub/link4 
domain.com/sub/link5 
domain.com/sub/link6 

Если я хочу некоторые ссылки имеют обычай перенаправляет и вместо этого все остальные Перенаправление Домашняя страница?

Пример:

redirect 301 domain.com/sub/link1 /sub2 
redirect 301 domain.com/sub/link2 /sub3/article1 
redirect 301 domain.com/sub/link3 /sub2 
other domain.com/sub/ to homepage 

ответ

0

Вы можете использовать следующее:

#redirect the main site 
redirect 301 /category-A/article-name-A www.new.com/article-new-A 
redirect 301 /category-B/article-name-B www.new.com/category-B/article-new-B 

#redirect any other domain 
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^(www\.)?olddomain.com$ 
RewriteRule ^(.*)$ http://newdomain.com [L,R,NE] 

RewriteRule переадресует все остальные домены (кроме www.olddomain.com) для http://newdomain.com

+0

спасибо! еще один маленький вопрос: У меня есть подпапка с дополнительной ссылкой «domain.com/sub/link1», если я хочу, чтобы в некоторых ссылках были настраиваемые переадресации, а вместо этого все остальные переадресовывались на главную страницу? – Odino

Смежные вопросы