至少两个月我一直在摸不着头脑。我在我们的网站有一个分类广告部分有SEO友好的URL我想重写这些网址。我不确定问题是否与每个区域的子域相关。 URL可能如下所示:
这些是工作网址:
我想让它在我们的服务器上转到这个地址:
http://milwaukee.storeboard.com/classifieds/viewad.asp?ClassAdID=425
我在web.config文件中使用以下代码...但无论我尝试什么变化,我都无法让它工作..
<rule name="Classifieds Ad" stopProcessing="true">
<match url="^http://([^/]+)/classifieds/.*?(\d+)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="http://{R:1}/classifieds/viewad.asp?ClassAdID={R:2}" />
此时第一个链接工作的唯一原因是因为我使用我的404错误页面来处理请求,然后通过MSXML2.ServerXMLHTTP.6.0调用页面,但这是不可靠的并且可以超时,尤其是在重度时用法。我想删除此方法并使用快速IIS URL重写。
我非常感谢您提供的任何帮助
答案 0 :(得分:0)
尝试以下规则
<rule name="Classifieds Ad" stopProcessing="true">
<match url="^classifieds/.*?/(\d+)$" />
<conditions>
<add input="{HTTP_HOST}" type=”Pattern” pattern="^(.*)$">
</conditions>
<action type="Rewrite" url="{C:0}/classifieds/viewad.asp?ClassAdID={R:1}" />