Iis
IIS 10 URL 重寫給出 404 錯誤
我目前堅持我的重寫規則,我需要一些關於它的提示。
情況是這樣的:我們有兩個網站,一個是 website.com,另一個是 website-staging.com(這裡只是範例)
在 website.com 上,對於某些 url,我想使用重寫規則來訪問暫存網站並顯示結果。
這是 web.config 文件中的規則:
<rule name="RewriteSearchQueries" patternSyntax="Wildcard" stopProcessing="true"> <match url="search?*" /> <action type="Rewrite" url="https://website-staging.com/{R:0}" logRewrittenUrl="true" />
我做了模式測試,一切正常。用於重寫的 URL 工作正常,但是當我點擊 website-staging.com/search?arg=1&blabla=2 時,我收到 404 錯誤消息:
404 - 找不到文件或目錄。您要查找的資源可能已被刪除、名稱已更改或暫時不可用。
我也嘗試採取以下措施:
<action type="Rewrite" url="https://website-staging.com/search?{R:1}" logRewrittenUrl="true" />
它也沒有工作。有什麼線索嗎?
編輯:應用程序請求路由已安裝,代理已啟用。
所以.. 按照 Lex Li 的建議安裝 FRT 後,我看到沒有匹配項,因此沒有進行 URL 重寫。
我做了一次又一次的模式測試,一切都很好。
最後,我決定用正則表達式替換萬用字元,並且.. Tadam !有效。由於一個我無法解釋的原因,萬用字元模式沒有被正確檢測到,儘管模式測試器沒問題,而使用正則表達式完美地做到了這一點。
因此,如果您遇到類似的問題,請一直使用正則表達式!