0

とてもシンプルに見えますが、見つけるのは難しいことがわかります...私の.htaccessファイルでは、次のrewriteRuleを作成したいと思います:

RewriteRule (.*)$  %{HTTP_HOST} + /home.html

.htaccess変数 (HTTP_HOST) と文字列 ( /home.html)を連結する方法を教えてください。

/home.htmlいいえ、この .htaccess ファイルは 2 つの異なるドメインに対応しているため、直接リダイレクトすることはできません。これらのドメインは両方とも私の Web スペースのサブディレクトリにあります。どうやら、.htaccessサブディレクトリに入れるとファイルが機能しないようです。

4

2 に答える 2

1

特別な「連結演算子」などは必要ありません。変数参照を置換に配置するだけで、そこで自動的に解析されます。

ただし、これには%{HTTP_HOST}ホスト名のみが含まれ、プロトコルは含まれないことに注意してください。そのため、ディレクトリとして扱われないように、プロトコルのプレフィックスを付ける必要がある場合があります。

RewriteRule .* http://%{HTTP_HOST}/home.html [R]

動作するはずです。(明示的なリダイレクト用に [R] フラグを追加しました [これが必要だと思いますか?]。そうしないと、ホストが現在のリダイレクトと一致する場合に内部的なものになる可能性があるためです。)

于 2013-04-03T07:50:14.307 に答える
0

特定のドメインをリダイレクトせずにリダイレクトしたいということです/home.htmlか?単に書き換え条件を使用するだけです:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} domain1\.com$
RewriteRule ^/?$ /home.html [R]

また、コードを正しいものに編集できるように、質問を簡単に説明してください。

于 2013-04-03T08:07:15.280 に答える