6
私はHTTP_HOSTを使用してのRewriteRuleと異なるポート
(私は必要なものである)、それはホストヘッダーとは異なることになると私はSERVER_NAMEを使用することはできませんのRewriteRuleにHTTP_HOSTヘッダを使用する必要がありますが、ポート を変更ですmod_rewriteのHTTP_HOST変数の:portをトリムする方法はありますか?
私はHTTP_HOSTを使用してのRewriteRuleと異なるポート
(私は必要なものである)、それはホストヘッダーとは異なることになると私はSERVER_NAMEを使用することはできませんのRewriteRuleにHTTP_HOSTヘッダを使用する必要がありますが、ポート を変更ですmod_rewriteのHTTP_HOST変数の:portをトリムする方法はありますか?
はい、ホストヘッダーからポートを切り捨てることができます。ちょうど%{HTTP_HOST}
と一致し、%1
逆参照を使用してください。たとえば:
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %1 ^the.hostname.com$ [NC]
はOK
です:RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteRule^http://%1:12345/ [R,L]
ちょうど%1
後方参照のみRewriteCond
の最初のパラメータではなく、試合で使用することができることを心に留めておきます
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
RewriteCond %{REQUEST_URI} ^%1
は無効です
私は私の問題を解決したと思います。ありがとう! :) – arcyqwerty
Apacheを別のポートで実行しているのですか? – Devraj
%{SERVER_PORT}には、サーバーのポートが含まれています。あなたの質問をよりわかりやすいように編集できますか? –
適切な外部サーバーにリダイレクトするには、http_hostを使用する必要があります。この仮想サイトはポート80にありません – arcyqwerty