8

RewriteRule で HTTP_HOST ヘッダーを使用する必要がありますが、ホスト ヘッダーとは異なるため、SERVER_NAME を使用できないポートを変更します (これが必要です)。

mod_rewrite の HTTP_HOST 変数から :port を削除する方法はありますか?

4

1 に答える 1

11

はい、ホストヘッダーからポートを削除できます。照合して後方参照%{HTTP_HOST}を使用するだけ%1です。例えば:

RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteRule ^ http://%1:12345/ [R,L]

%1後方参照は、の最初のパラメーターでのみ使用できRewriteCond、一致では使用できないことに注意してください。

RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %1 ^the.hostname.com$ [NC]

大丈夫です

RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %{REQUEST_URI} ^%1

大丈夫ではありません

于 2012-07-19T04:39:12.157 に答える