2012-07-09 72 views
0

我已經看起來像瘋了似的回答 - 我一直沒能找到一個。如果我錯過了某些事,我會提前道歉。子域重定向到URL參數,同時保持其他url參數完好

我期待將一個子域名轉換爲一個url參數,同時保持其他url片段。

如:

http://sub.domain.tv/value重定向到http://domain.tv/value?campus=sub

這是我經過無數的帖子在這裏尋找後嘗試:

# campus 
RewriteCond %{HTTP_HOST} ^sub.domain.tv$ [NC] 
RewriteRule ^(.*)$ http://domain.tv/$1/?campus=sub [R=301,L] 

後就正常了重定向sub.domain。電視到domain.tv?campus=sub,但不能與其餘的URL參數一起工作(所以前往sub.domain.tv/value什麼都不做)。

我試過用%1和$ 1作爲變量的其他例子,比如這篇文章: htaccess subdomain redirct with last url parameter但是我不明白它們之間的區別(以及我嘗試過的例子都不起作用)。

感謝您的參觀! :)我非常感謝它!

回答

0

您是否試過[QSA]參數。這將添加任何剩餘的查詢參數到campus=sub

+0

特里,非常感謝迴應!我沒有,我會研究它並讓你知道! – watts 2012-07-09 23:38:58

+0

看起來[QSA]將值移到參數後面 - 因此.tv/value會重寫爲.tv /?campus = subvalue,而我需要它們留在它們之前。所以.tv/value轉換爲.tv/value?campus = sub - 至少,這就是本網站所說的: 「捕獲變量時,首先需要了解的是[QSA]標誌,它只是將所有原始變量標記回目標url的末尾。「 [via:http://corz.org/serv/tricks/htaccess2.php] 我很欣賞這個建議! – watts 2012-07-09 23:50:56

+0

'/ value'不是URI中的參數;其資源路徑的一部分。 (參數是?print = 1。)所以QSA在這裏適用。這個規則會將'http:// sub.domain.tv/value'重定向到'http://domain.tv/value/?campus = sub'如果你不想要最後一個「/」,那麼把它放在'$ 1'。 – TerryE 2012-07-10 07:45:47