ModRewrite ドメイン

ModRewrite ドメイン

ModRewrite のルールと条件について少し調べてみましたが、求めている効果を実現する満足のいくルール/条件のセットを見つけることができませんでした。

基本的に、ドメインAにディレクトリがあります(http://www.domaina.com/dir/)をドメインBの別のディレクトリにリダイレクトしたい(http://www.domainb.com/diff_dir/)。

ユーザーが domaina の /dir/ にアクセスしようとしている場合にのみ、書き換えルールを適用することに注意してください。ユーザーが別のディレクトリまたはルートにアクセスしている場合は、URL を書き換えたくありません。

ありがとう!

答え1

ドメイン構成の場合:

#redirect everything under dir to the same location under domainb.com/diff_dir
RewriteRule ^/dir/(.*)$ http://www.domainb.com/diff_dir/$1 [r=301]

#redirect url http://www.domaina.com/dir to http://www.domainb.com/diff_dir
RewriteRule ^/dir(/)?$ http://www.domianb.com/diff_dir [r=301]

これはテストしていませんが、動作するはずです。

注:
ルート .htaccess ファイルまたは特定のディレクトリ設定でこれを行う場合は、先頭の '/' を削除するか、ルール パターンを調整する必要があります。たとえば、^dir(/)?$.

関連情報