0
我遇到了問題,我需要將用戶重定向到網址中的網址。使用.htaccess重定向到另一個網址中的網址
例如: 當用戶訪問的網址:api.example.com/redirect/www.google.com
我希望用戶被重定向到:www.google.com
我一直在嘗試一段時間,但沒有成功。
我遇到了問題,我需要將用戶重定向到網址中的網址。使用.htaccess重定向到另一個網址中的網址
例如: 當用戶訪問的網址:api.example.com/redirect/www.google.com
我希望用戶被重定向到:www.google.com
我一直在嘗試一段時間,但沒有成功。
您可能正在尋找類似的東西:
變主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」(在這裏保持簡單......)。也許提出檢查目標的頭部請求存在並且可用。只有這樣它纔會重定向。否則它會返回一個有意義的錯誤消息
這不會在.htaccess中正常工作,因爲它不會在每個目錄上下文中匹配。刪除前導'/'或使其成爲可選項。 '^ /?redirect /(.+)$ ...' – 2015-03-08 21:37:14
@PanamaJack你說的確實是對的。感謝您指出了這一點。我相應地修改了答案。 – arkascha 2015-03-08 21:46:15
謝謝,它的工作原理! – 2015-03-08 21:54:53