2012-07-06 111 views
0

我有這個addrress
http://mysite.com/index.php?cat=7國防部重寫錨

我寫這個mod重寫

RewriteRule ^category/(\d+) index.php?cat=$1 

這意味着:如果有人打開我的adrress,他會自動前往該地址:

http://mysite.com/category/7 

但我需要使用錨,也就是說,我需要在開幕式我的地址,發生重定向到這個地址:

http://mysite.com/category/7#!somesome 

請告訴我,如何編寫這樣的RewriteRule?

回答

1

如果我正確理解你的問題,你想要使用(Apache的)mod重寫獲得URL片段(#之後的URL部分)。

不幸的是,這是不能做到的。根據Wikipedia's article

片段標識符功能不同於所述URI的其餘部分,即:它的處理是專門的客戶端與服務器沒有參與

當代理(如Web瀏覽器)從Web服務器請求資源時,代理將URI發送到服務器,但不發送片段。

你必須解決這個問題,可能使用(客戶端)javascript。

+0

是的,當你看到網站如谷歌翻譯使用哈希字符串來維護上下文時,這是爲了讓一個JavaScript中的一個調用可以將上下文傳遞給它的下一個等價物。客戶端的JavaScript可以看到這一點。它甚至不會被髮送到服務器 – TerryE 2012-07-06 12:17:02