IIS URL 重写重定向所有子目录
IIS URL Rewrite redirect all subdirectories
我的网站有很多未使用的旧页面和目录。我没有删除它们,而是考虑使用重写规则将它们重定向到其父目录,
例如,我有这些链接:
https://www.example.com/category/sub/1
https://www.example.com/category/sub2222/1/a
https://www.example.com/category/something/sub/3333
我希望他们三个都重定向到 https://www.example.com/category
。
我尝试了下面的代码,但进入了无限循环。猜猜我必须指定规则只在它有子目录时才重定向:
<rule name="Redirect-test" stopProcessing="true">
<match url="category/(.*)" ignoreCase="true" />
<action type="Redirect" url="https://www.example.com/category" />
</rule>
好吧,可能是我想多了,加一个/(.*)就可以解决我的问题,我只是想知道这样的规则是否有任何缺陷
<rule name="Redirect-test" stopProcessing="true">
<match url="category/(.*)/(.*)" ignoreCase="true" />
<action type="Redirect" url="https://www.example.com/category" />
</rule>
我的网站有很多未使用的旧页面和目录。我没有删除它们,而是考虑使用重写规则将它们重定向到其父目录,
例如,我有这些链接:
https://www.example.com/category/sub/1
https://www.example.com/category/sub2222/1/a
https://www.example.com/category/something/sub/3333
我希望他们三个都重定向到 https://www.example.com/category
。
我尝试了下面的代码,但进入了无限循环。猜猜我必须指定规则只在它有子目录时才重定向:
<rule name="Redirect-test" stopProcessing="true">
<match url="category/(.*)" ignoreCase="true" />
<action type="Redirect" url="https://www.example.com/category" />
</rule>
好吧,可能是我想多了,加一个/(.*)就可以解决我的问题,我只是想知道这样的规则是否有任何缺陷
<rule name="Redirect-test" stopProcessing="true">
<match url="category/(.*)/(.*)" ignoreCase="true" />
<action type="Redirect" url="https://www.example.com/category" />
</rule>