0

1 つの Apache2 仮想ホストを指す複数のドメイン名があります。

ServerName domain1.com
ServerAlias domain2.com
ServerAlias domain3.com

常に同じ URL を表示するには、次のような rewriterule を使用します。

RewriteCond %{HTTP_HOST} !^domain1.com [NC]
RewriteRule (.*) http://domain1.com/$1 [R=301,QSA,L]

最後に、次のようなエイリアスがあります。

Alias /niceurl /long/path/to/index.php

ユーザーがdomain2.com/niceurl/fooにアクセスすると、ブラウザに表示される URLdomain1.com/path/to/index.php/foodomain1.com/niceurl/foo

他のケースは期待どおりに機能することを付け加えておきます。つまり、次のようになります。

domain2.com/foo => domain1.com/foo
domain1.com/shorturl/bar => domain1.com/shorturl/bar

私が望むものを達成する賢い方法はありますか? ヒントをありがとう!

4

2 に答える 2

1

ドキュメントルートにアクセスできる場合、解決策はシンボリックリンクを作成することです:

ln -s /<path to application> /<document root>/foo
于 2013-09-03T18:27:15.190 に答える
1

ドメイン リダイレクトに Query String Append (QSA) が本当に必要ですか?

それなしでルールを試してください:

RewriteRule (.*) http://domain1.com/$1 [R=301]
于 2012-05-26T13:40:03.860 に答える