web-dev-qa-db-ja.com

htaccessはすべてのページを単一のページにリダイレクトします

Htaccessファイルを使用して、古いドメインリクエストをすべて新しいドメインにリダイレクトしたい。以下は私が使用しているものですが、ページが新しいサイトにない場合は機能しません。たとえば、古いサイトのgoogleインデックスabout.htmが、新しいサイトには存在しません。私はそれがすべての場合にルートに行くことを望みます。これはseoにとって理想的ではないことは知っていますが、404は必要ありません。助言がありますか?

Redirect 301 / http://www.thenewdomain.com/
33
Brian Barthold

Old.com/about.htmへの訪問者をnew.com/about.htmに移動させようとしていますか?その場合、.htaccessのmod_rewriteルールでこれを行うことができます。

_RewriteEngine on_

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

23
kj.

すべてのページを単一のメンテナンスページにリダイレクトすることを目的とする場合(タイトルからもわかるように)、次を使用します。

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

000 000 000 000は your ip adress に置き換える必要があります。

ソース:

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

65
user669677

これにより、古いホストから新しいホストのルートにすべてが導かれます。

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]
14
bjudson
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L]
5
Marco Demaio