RewriteRule で HTTP_HOST ヘッダーを使用する必要がありますが、ホスト ヘッダーとは異なるため、SERVER_NAME を使用できないポートを変更します (これが必要です)。
mod_rewrite の HTTP_HOST 変数から :port を削除する方法はありますか?
RewriteRule で HTTP_HOST ヘッダーを使用する必要がありますが、ホスト ヘッダーとは異なるため、SERVER_NAME を使用できないポートを変更します (これが必要です)。
mod_rewrite の HTTP_HOST 変数から :port を削除する方法はありますか?
はい、ホストヘッダーからポートを削除できます。照合して後方参照%{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
大丈夫ではありません