Htaccess перенаправляет все страницы на одну страницу
Я хочу перенаправить весь мой старый запрос домена на мой новый домен, используя файл htaccess. Ниже я использую, но это не работает, если страница не находится на новом сайте. Например, google index about.htm на старом сайте, но на новом сайте его не существует. Я бы хотел, чтобы он просто вошел в корень во всех случаях. Я знаю, что это не идеально для seo, но я не хочу никаких 404-х. Любые предложения?
Redirect 301 / http://www.thenewdomain.com/
Ответы
Ответ 1
Вы пытаетесь завести посетителей на old.com/about.htm, чтобы перейти на new.com/about.htm? Если это так, вы можете сделать это с помощью правила mod_rewrite в .htaccess:
RewriteEngine on
RewriteRule ^(.*)$ http://www.thenewdomain.com/$1 [R=permanent,L]
Ответ 2
Если ваша цель будет перенаправлять всю страницу на одну страницу обслуживания (как заголовок может предложить и это), используйте:
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/
Ответ 3
Это направит все от старого хоста к корню нового хоста:
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]
Ответ 4
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L]