我試圖使用IIS ISAPI重寫做到以下幾點...Isapi重寫301重定向解析爲404 - 循環引用?
我需要搜索引擎友好的網址是(默默)轉換回應用友好的URL,像這樣:
RewriteRule ^/seo-friendly-url/ /test/index.cfm [I,L]
簡單足夠。
但我也需要已經在搜索引擎中編入索引的URL(例如)301重定向到友好版本。像這樣:
RewriteRule ^/test/index.cfm /seo-friendly-url/ [I,R=301]
這些工作都單獨工作。但是,當我的.ini文件中都含有/ seo-friendly-url /顯示在我的瀏覽器地址欄中時,但我的服務是404。(是的,/test/index.cfm肯定存在!)
我知道它看起來像一個循環引用,但第一條規則只重寫IIS和應用程序之間的URL - 沒有重定向,所以我沒有再次進行Isapi Rewrite。或者我錯了嗎?
我已經啓用的ISAPI重寫記錄和我看到以下內容:
HttpFilterProc SF_NOTIFY_PREPROC_HEADERS
DoRewrites
New Url: '/seo-friendly-url/'
ApplyRules (depth=0)
Rule 1 : 1
Result (length 15): /test/index.cfm
ApplyRules (depth=1)
Rule 1 : -1
Rule 2 : 1
Result (length 18): /seo-friendly-url/
ApplyRules: returning 301
ApplyRules: returning 1
Rewrite Url to: '/seo-friendly-url/'
任何人有什麼想法?
根據文檔,不需要L - 「重定向規則總是最後一條規則」。儘管如此,我仍然試着用L和結果是一樣的 – stubotnik 2009-06-26 13:04:56