2011-04-29 56 views
0

我已經看了幾天,甚至讓IT人員在工作,試圖找出它,但我們並沒有走得很遠。如何使用.htaccess重定向一個包含#字符的網址

我有一個網址my.website.com/index.php#!lightBox[gallery]/0/,我想重定向到my.website.com。我只用index.php就可以做到這一點,但這是額外的部分,不工作。我已經試過:

RewriteCond %{HTTP_HOST} ^my.website.com$ [NC] 
RewriteRule (.*) http://my.website.com/index.php#!lightBox[gallery]/0/? [R=301,L] 

和的cPanel生成以下重定向:

RewriteCond %{HTTP_HOST} ^my.website.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.my.website.com$ 
RewriteRule ^/?$ "http\:\/\/my\.website\.com\/\#\!lightBox\[gallery\]\/0\/" [R=301,L] 

兩個輸出my.website.com/%23!lightBox[gallery]/0/作爲URL - 正如你所看到的散列不被處理。

如果有人有任何想法,我很樂意聽到!

謝謝:)

+0

似乎CPanel不正確地轉義第二個'RewriteRule'參數。 – 2011-04-29 16:04:10

回答

0

讓你的規則是這樣的:

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(www\.)?my\.website\.com$ [NC] 
RewriteRule ^/?$ http://my.website.com/index.php#!lightBox[gallery]/0/ [R=301,L,NE] 

你需要逃避點.中的RewriteCond但不需要逃脫RHS任何特殊字符。重要的是,您需要標記NE以避免產生的URI。

+0

謝謝!它保持網址完好無損,但最終出現錯誤 - 「嘗試打開時出現太多重定向」http://my.website.com/#!lightBox[gallery]/0/「。如果打開頁面,可能會發生這種情況這是重定向打開另一個頁面,然後重定向到打開原始頁面。「在Safari和Firefox中也出現了類似的錯誤。我刪除了.htaccess中的所有其他內容,以查看是否有衝突,但同樣的事情又發生了。 – Rachel 2011-04-29 16:36:29

+0

其實,在index.php中加入這樣 RewriteRule^/?$ http://my.website.com/index.php#!lightBox[gallery]/0/ [R = 301,L,NE] ,它的工作。非常感謝! – Rachel 2011-04-29 16:41:10

+0

不客氣,我更新了我的回答以反映'index.php'。 – anubhava 2011-04-29 16:45:42

相關問題