2015-03-08 172 views

回答

2

您可能正在尋找類似的東西:

變主HTTP服務器配置:

RewriteEngine on 
RewriteRule ^/redirect/(.+)$ http://$1 [L,R=301] 

變了.htaccess樣式文件:

RewriteEngine on 
RewriteRule ^redirect/(.+)$ http://$1 [L,R=301] 

這顯然需要重寫模塊在本地http服務器中可用。

一般而言,如果您有權訪問該,則應該將這些規則放入主服務器配置中,。如果您沒有其他選擇,則只應使用.htaccess樣式文件。原因是這樣的文件出了名的錯誤,很難調試,並且真正減慢了http服務器的速度。


更健壯的方法是將URL的捕獲部分作爲參數傳遞給服務器端的腳本。腳本可以驗證零件,不管它是否是一個有效的「url」(在這裏保持簡單......)。也許提出檢查目標的頭部請求存在並且可用。只有這樣它纔會重定向。否則它會返回一個有意義的錯誤消息

+0

這不會在.htaccess中正常工作,因爲它不會在每個目錄上下文中匹配。刪除前導'/'或使其成爲可選項。 '^ /?redirect /(.+)$ ...' – 2015-03-08 21:37:14

+1

@PanamaJack你說的確實是對的。感謝您指出了這一點。我相應地修改了答案。 – arkascha 2015-03-08 21:46:15

+0

謝謝,它的工作原理! – 2015-03-08 21:54:53