2014-01-22 34 views
0

一些我如何在Google中索引一個無效的目錄,並且由於一些動態的相對鏈接,我現在有2500個「缺失」頁面被索引。我正在嘗試使用.htaccess 301重定向來糾正問題,但似乎無法使其正常工作。我需要將www.domain.com/shop/pc/.../pc/filename.asp重定向到www.domain.com/shop/pc/filename.asp何我寫一個包含省略號的目錄的.htaccess重定向

我寫的規則,不希望工作是RewriteRule ^shop/pc/\.\.\./pc/(.*)$ /shop/pc/$1 [R=301,L]

有什麼想法?

+0

你確定它是3個ASCII碼句點('.'s)還是unicode省略號('...')? –

+0

刪除了我的最後一條評論。認爲修好了,但我跳了槍。 – user3221444

+0

你是對的我相信 - 這是unicode省略號,不是3個時期。我將如何編寫該重定向?我想: '重寫規則^ PC/... /商店/ PC /(.*)$ /商店/ PC/$ 1 [R = 301,L]'和 '重寫規則^ PC /… /商店/ PC /( 。*)$/shop/pc/$ 1 [R = 301,L]' 它們似乎不起作用。 – user3221444

回答

1

mod_rewite使用PCRE,所以對於這些Unicode字符(我包括這兩個點的領導者爲好,因爲我想,更可能潛入一個URL比省略號):

# U+2026 … \xe2\x80\xa6 HORIZONTAL ELLIPSIS 
RewriteRule ^shop/pc/\xe2\x80\xa6/pc/(.*)$ /shop/pc/$1 [R=301,L] 

# U+2025 ‥ \xe2\x80\xa5 TWO DOT LEADER 
RewriteRule ^shop/pc/\xe2\x80\xa5/pc/(.*)$ /shop/pc/$1 [R=301,L] 

注意您可能如果瀏覽器百分比轉義省略號,則需要[B]標誌(see flags)。

+0

仍然沒有運氣。我嘗試過和沒有B標誌。 '重寫規則^店/ PC/\ XE2 \ X80 \ xa6/PC /(.*)$ /商店/ PC/$ 1 [R = 301,L]' 和 '重寫規則^店/ PC/\ xe2 \ x80 \ xa6/pc /(.*)$/shop/pc/$ 1 [R = 301,B,L]' – user3221444

+0

我知道上面的mod_rewrite配方工程,所以這意味着我們沒有針對正確的字符。你的錯誤日誌裏有什麼?它會告訴你到底是從外面進來的。 – codnodder

+0

這是來自日誌的條目。 '2014-01-21 00:39:38 208.106.254.53 GET /shop/pc/.../pc/Reepubber-Combo-Kit-Quick-Dispense-Cartridge-System-Kit-10p4672.htm - - 157.55.32.221 HTTP/1.1 Mozilla/5.0 +(兼容; + bingbot/2.0; ++ http://www.bing.com/bingbot.htm) - - www.flexbar.com 200 0 48979 354 718'。它似乎在這裏是3個時期。然而,我試圖逃脫3個時期開始(見第一篇文章),但也沒有奏效。還有什麼我失蹤? – user3221444