2016-08-22 12 views
2

すべてのコンテンツをdomain.com/subfolderからnewdomain.comにリダイレクトしようとしています。現在domain.com/subfolder.htaccessでこれを使用してhtaccess(500内部サーバーエラー)を使用してサブフォルダのコンテンツを別のドメインにリダイレクト

RedirectMatch 301 ^/subfolder/$ http://newdomain.com/ 

問題はそれだけでhttp://newdomain.com/で動作しますが、元を参照するとき。 http://newdomain.com/page1 500のエラーが表示されます。リダイレクト

newdomain.comますあまりにも多くの時間を:

はまた、このコードが生成する

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\.domain\.com\subfolder$ 
RewriteRule (.*) http://newdomain.com./$1 [R=301,L] 
RewriteCond %{HTTP_HOST} !^domain\.com\subfolder$ 
RewriteRule (.*) http://newdomain.com/$1 [R=301,L] 

を試してみました。クッキー を消去してみてください。

両方のドメインが同じアカウントに属しています。

+0

はい、両方のドメインが同じアカウントに属しています。異なるブラウザを試して、それでも同じです。 – Arturo

答えて

1

...両方のドメインが同じアカウントに属しています。

あなたはmod_aliasとドメイン/ホストを区別できないため、その場合にはmod_rewriteのを使用する必要があります

(すなわち。RedirectMatch)。また、301リダイレクトはブラウザによってキャッシュされるため、ブラウザが以前の(誤った)キャッシュをキャッシュしている可能性があります。

RewriteCond %{HTTP_HOST} !^www\.domain\.com\subfolder$ 

HTTP_HOSTサーバー変数は、URLのちょうどホスト(またはドメイン)の部分が含まれています。これにはsubfolderは含まれません。 (しかし、あなたはまた、パスの区切りとしてバックスラッシュを使用して置換で誤った点を持っていました。)

domain.com/subfolder/.htaccessファイルに次のように試してみてください:301

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ 
RewriteRule (.*) http://newdomain.com/$1 [R=302,L] 

変更302(一時的な)それが正常に動作していることがわかったら、(永久的に)OKです。前述したように、301はキャッシュされ、302はキャッシュされないため、テストが容易になります。

+1

チャームのように働いて、非常に感謝します。 – Arturo

関連する問題