子域URL重写问题

问题描述

| 我已经为这个问题挠头了至少两个月。我在我们的网站上有一个分类广告部分,其中包含SEO友好的URL,我想重写这些URL。我不确定问题是否与每个区域的子域有关。该URL可能如下所示: 这些是有效的网址: http://milwaukee.storeboard.com/classifieds/for-sale/business/make-incredible-income-while-growing-your-local-economy/425 我想使其转到我们服务器上的该地址: 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重写。 我非常感谢您可以提供的任何帮助     

解决方法

尝试以下规则
<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}\" />