0

検索エンジンの 1 つが私のテスト サイトをスパイダーしました。テストnew.mydomain.co.ukが完了したので、これらの URL を同じ拡張子を使用するメイン サイトにリダイレクトしたいと考えています。

例:

new.mysite.co.uk/thispage/などを指す必要がwww.mysite.co.uk/thispageあります。私は自分の目的を達成する解決策(以下にコピー)を検索して見つけましたが、この原因www.mysite.co.ukは拡張機能ではなく「テストサイト」を指しているだけです。

これは私が使用したコードです:

RewriteCond %{HTTP_HOST} ^new\.mysite\.co.uk$  [NC]
RewriteRule ^(.*) http://www.mysite.co.uk/$1 [L,R=301]

何を間違えたのかを解明するために数時間を費やしましたが、自分自身の調査を使い果たしたので、専門家にこの問題の解決を手伝ってもらう必要があります.

どうもありがとう

4

1 に答える 1

1

.htaccess 内ではなく、適切な Apache 仮想ホスト構成で行うことをお勧めします。このようなものは、正しいパスが追加された www.mysite に new.mysite のすべてのトラフィックをリダイレクトします。

<VirtualHost *:80>
  ServerName new.mysite.co.uk
  Redirect permanent / http://www.mysite.co.uk/
</VirtualHost>

「Redirect」行を含めるだけで、Apache ファイルを直接編集したくない場合、これは .htaccess ファイルでも機能するはずです。(あなたの new. と www. が同じ物理フォルダを共有していない限り)

より複雑な書き換えルールは、あなたが提案したものに似ている可能性があります:

 RewriteCond %{HTTP_HOST} ^new\.mysite\.co\.uk
 RewriteRule ^(.*)$ http://www.mysite.co.uk/$1 [R=301,L]

.uk の前にバックスラッシュを付ける

Ps。この質問はserverfault.comでより適切です

于 2013-07-06T00:05:41.500 に答える