我正在尝试使用 IIS Isapi Rewrite 来执行以下操作...
我需要将 seo 友好的 URL(静默)转换回应用程序友好的 URL,如下所示:
RewriteRule ^/seo-friendly-url/ /test/index.cfm [I,L]
很简单。
但我还需要已经在搜索引擎中索引的 URL(例如)被 301 重定向到对 seo 友好的版本。像这样:
RewriteRule ^/test/index.cfm /seo-friendly-url/ [I,R=301]
这些中的每一个都可以单独工作。但是当我在我的 .ini 文件中同时拥有这两个文件时,我的浏览器地址栏中会显示 /seo-friendly-url/ 但我得到的是 404。(是的,/test/index.cfm 肯定存在!)
我知道它看起来像一个循环引用,但第一条规则只重写 IIS 和应用程序之间的 URL - 没有重定向,所以我没有第二次点击 Isapi Rewrite。还是我错了?
我在 Isapi Rewrite 上启用了日志记录,我看到以下内容:
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/'
有人有什么想法吗?