Isapi改写301向解决作为404圆参考?
-
20-08-2019 - |
题
我试图使用IIS Isapi改写做到以下...
我需要搜索引擎友好的网址是(默默地)转换回的应用程序的友好的网址如下所示:
RewriteRule ^/seo-friendly-url/ /test/index.cfm [I,L]
很简单的。
但我还有需要的网址已编入索引的,搜索引擎(例如)进301重要的搜索引擎友好版本。像这样:
RewriteRule ^/test/index.cfm /seo-friendly-url/ [I,R=301]
这些工作现在的隔离。但当我有我的.ini file我结束/搜索引擎优化-友好的-url/显示出在我浏览器的地址吧但我提供一个404.(是的,测试//索引。cfm肯定存在!)
我知道这看起来像一个圆形的参考,但该第一条规则仅仅改写URL之间IIS和应用的-有没有重新定向,因此我不打Isapi改写第二次。还是我错吗?
我已经启用,登录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/'
任何人有任何想法?
解决方案 2
通过一些试验和错误我已经想出了一个解决方案。
指定重定向匹配是在使用$符号的字符串的末尾:
RewriteRule ^/test/index.cfm$ /seo-friendly-url/ [I,R=301]
请所重写的URL从重定向匹配字符串平凡不同 - 在这种情况下添加的不必要的“?”:
RewriteRule ^/seo-friendly-url/ /test/index.cfm? [I,L]
其他提示
你有两个不同的写在这里,它应该作如果你这样做是正确的
第一个是从未见过的客户用户的代理。它请求/搜索引擎优化-友好和你重写国内和回应
第二个是不是真的一个重写,但一个重定向。你送那回客户和它重新请求/搜索引擎优化-友好的-我认为你需要使用[R=301,L]说这是底线路--仅返回(L不会)
不隶属于 StackOverflow