2016-11-03 27 views
0

Namecheapには、別のサイトのURLにリダイレクトするように設定したドメインがあります。問題は、新しいサイトに存在しないパスを含め、すべてをリダイレクトするようになったことです。ドメイン.301 .htaccessリダイレクト

ので、古いURL:

domain.tld/bla/bla 

は404エラーをスロー

newdomain.tld/theredirectedurl/bla/bla 

になります。

私の質問は基本的にどのように新しいURLに古いサイトから0.301すべての着信リンクへ:

newdomain.tld/theredirectedurl/ 

私はreffererリダイレクトを設定してみましたが、サイトはSucuriファイアウォールを通して行くので、私が思うこと動作しません。

RewriteEngine On 
RewriteCond %{HTTP_REFERER} ^http://olddomain.tld/[OR] 
RewriteCond %{HTTP_REFERER} ^http://www.olddomain.tld/ 
RewriteRule .* http://www.newdomain.tld/products/lines/product/ [R=301,L] 

助けてください。

ありがとうございました

+0

ドメインだけを新しいドメインにリダイレクトしようとしていますか、パスが含まれていますか?あなたの要件は明らかではないようです。 –

+0

基本的には、古いサイトから新しいサイトの新しいURLにすべての着信リンクをリダイレクトするにはどうすればいいですか?古いサイトからのすべてのURLに対して簡単な301のリダイレクトを設定することはありません。 – Pop

+0

DNSからのドメイン転送をセットアップするか、新しいサイトで[サイトエイリアス](https://httpd.apache.org/docs/2.4/mod/core.html#serveralias)として古いサイトを追加する必要があります。その後、 'RewriteCond%{HTTP_HOST}'を使って古いドメインであるかどうかをチェックし、新しいドメインにリダイレクトすることができます。 –

答えて

0

閉じる。 HTTP_HOSTを使用するとすぐにリダイレクトされ、referer [sic]は最初のページビューには影響せず、リソースとそれ以降のクリックだけに影響します。

RewriteEngine On 
RewriteCond %{HTTP_HOST} =olddomain.tld [OR] 
RewriteCond %{HTTP_HOST} =www.olddomain.tld 
RewriteRule^http://www.newdomain.tld/products/lines/product/ [R=301,L] 
関連する問題