htaccess перенаправляет все страницы на одну страницу - PullRequest
33 голосов
/ 19 августа 2010

Я хочу перенаправить все мои старые запросы домена в мой новый домен, используя файл htaccess.Ниже приводится то, что я использую, но это не работает, если страница не на новом сайте.Например, индекс google about.htm на старом сайте, но на новом сайте его не существует.Я бы хотел, чтобы он просто вошел в рут во всех случаях.Я знаю, что это не идеально для SEO, но я не хочу 404-х годов.Есть предложения?

Redirect 301 / http://www.thenewdomain.com/

Ответы [ 4 ]

63 голосов
/ 21 июля 2012

Если ваша цель состоит в том, чтобы перенаправить все страницы на одну страницу обслуживания (как можно предположить и из названия), используйте:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.php$ 
RewriteCond %{REMOTE_HOST} !^000\.000\.000\.000
RewriteRule $ /maintenance.php [R=302,L] 

Где 000 000 000 000 следует заменить на Ваш IP-адрес .

Источник:

http://www.techiecorner.com/97/redirect-to-maintenance-page-during-upgrade-using-htaccess/

23 голосов
/ 19 августа 2010

Вы пытаетесь заставить посетителей old.com/about.htm перейти на new.com/about.htm? Если это так, вы можете сделать это с помощью правила mod_rewrite в .htaccess:

RewriteEngine on

RewriteRule ^(.*)$ http://www.thenewdomain.com/$1 [R=permanent,L]

14 голосов
/ 20 августа 2010

Это перенаправит все со старого хоста в корень нового хоста:

RewriteEngine on
RewriteCond %{http_host} ^www.old.com [NC,OR]
RewriteCond %{http_host} ^old.com [NC]
RewriteRule ^(.*)$ http://www.thenewdomain.org/ [R=301,NC,L]
5 голосов
/ 20 ноября 2012
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L]
...