Подтвердить что ты не робот

Htaccess перенаправляет все страницы на одну страницу

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

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

Ответ 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]