我有一個功能完善的URL重寫來刪除文件擴展名。但是當我使用response.redirect
時,URL重寫不會發生。奇怪的是,這隻有在URL使用完整路徑而不是相對時纔會發生。例如:使用URL重寫規則和SSL證書的跨域response.redirect
response.redirect("http://example.com/page")
給我http://example.com/page.asp
而response.redirect("/page")
是罰款。
URL重寫代碼:
<rule name="rewrite asp">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" negate="true" pattern="(.*).asp" />
</conditions>
<action type="Rewrite" url="{R:1}.asp" />
</rule>
我需要使用的完整路徑,因爲我從一個域到另一個。有任何想法嗎?
衛生署,對不起,這是Server.Transfer的 – 2012-03-21 20:34:03
啊肯定,是的,我試過之一,沒有工作。 – greener 2012-03-21 20:38:06
作爲最後一項建議,請嘗試添加查詢字符串,例如'response.redirect(「http://example.com/page/?test=1」)' – 2012-03-21 20:41:09