6
我需要使用HTTP_HOST一個報頭的重寫規則,但更改端口 我不能使用SERVER_NAME因爲這將是從主機頭不同(這正是我需要的)重寫規則使用HTTP_HOST和不同的端口
是有一種方法可以修改mod_rewrite的HTTP_HOST變量的端口:
我需要使用HTTP_HOST一個報頭的重寫規則,但更改端口 我不能使用SERVER_NAME因爲這將是從主機頭不同(這正是我需要的)重寫規則使用HTTP_HOST和不同的端口
是有一種方法可以修改mod_rewrite的HTTP_HOST變量的端口:
是的,你可以修剪掉主機頭的端口。只需匹配%{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
不好
我認爲這解決了我的問題。謝謝! :) – arcyqwerty 2012-07-19 15:29:17
你的意思是你在不同的端口上運行Apache? – Devraj 2012-07-19 04:28:41
%{SERVER_PORT}包含服務器的端口。你可以編輯你的問題更具描述性? – 2012-07-19 04:39:03
它需要使用http_host重定向到適當的外部服務器。這個虛擬網站不在端口80 – arcyqwerty 2012-07-19 05:07:01