我使用Apache 2.2與mod_rewrite。mod_rewrite重定向到URL與propietary協議
有沒有辦法強制mod_rewrite重寫整個URL,包括協議?我知道,如果重定向包含http://
在開始的時候會自動重寫整個URL,但我想重定向到使用專有協議的URL:fcp://
當我將它添加爲重定向它只是重定向到我與重寫服務器的URL追加像這樣:
http://www.example.com/fcp://@mailstaff....
我可以配置模塊對待fcp://
作爲一個完整的URL,所以我不運行這個?
UPDATE:這裏是我使用的代碼:
RewriteCond ${externals:$2|Unknown} !Unknown
RewriteRule ^(internal|external)/(.*)/? ${externals:$2} [R=301,NE,L,NS]
裏面的externals
RewriteMap指令,我有這樣一行:
firstclass-email fcp://@mailstaff.example.com/
當我去了觸發重寫規則去:
http://example.com/internal/firstclass-email
它會increcrec TLY重定向我在這裏:
http://example.com/fcp://@mailstaff.example.com/
如果我更改協議的一部分從fcp://
到http://
,Apache會意識到這是一個絕對的URL和正常工作。我希望Apache認識到fcp://
也應該是絕對的。
這就是我所擔心的:(有什麼方法可以在用戶空間中更改它嗎 – matpie 2009-09-04 21:01:33
嘗試使用處理重定向而不是Apache的腳本 – Gumbo 2009-09-04 21:15:23
「Apache只能處理...」 - 嚴格來說,它是* mod_rewrite *只能處理最常見的URL方案,其他模塊(如mod_alias:'Redirect' /'RedirectMatch')似乎是「處理」它們。 – DocRoot 2017-08-08 20:47:17