IIS 重写规则在包含特定特定查询字符串时删除查询字符串
IIS ReWrite Rule to remove query string when contains specific specific query string
希望删除特定的查询字符串参数。文件夹名称可以不同,specs
参数的长度可以随数字的任意组合而变化。每当有 specs
参数时,无论其值如何,删除该参数并重定向到 http://example.com/folder
示例输入:
http://example.com/folder1?specs=10,13,14,18,20,29
http://example.com/folder2?specs=14,18,20
将重定向到(分别):
http://example.com/folder1
http://example.com/folder2
不要删除任何其他查询字符串参数。 IE。
http://example.com/folder1?page=1
不会被重定向。
规则已尝试,但不起作用,尽管在使用 IIS 重写规则测试工具时看起来会这样:
<rule name="SpecsSpiderCrawl" stopProcessing="true">
<match url="(\/\/.*\/)(.*)\?" />
<conditions>
<add input="{QUERY_STRING}" pattern="specs=.*" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:2}" appendQueryString="false" redirectType="Permanent" />
</rule>
我太难了。这有效:
<rule name="SpecsSpiderCrawl" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{QUERY_STRING}" pattern="specs=.*" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" appendQueryString="false" redirectType="Permanent" />
</rule>
{HTTP_HOST}
只是 uri 的 example.com 部分
{R:0}
将得到文件夹名称
appendQueryString="false"
将删除整个查询字符串(这对我的用例来说很好。
希望删除特定的查询字符串参数。文件夹名称可以不同,specs
参数的长度可以随数字的任意组合而变化。每当有 specs
参数时,无论其值如何,删除该参数并重定向到 http://example.com/folder
示例输入:
http://example.com/folder1?specs=10,13,14,18,20,29
http://example.com/folder2?specs=14,18,20
将重定向到(分别):
http://example.com/folder1
http://example.com/folder2
不要删除任何其他查询字符串参数。 IE。
http://example.com/folder1?page=1
不会被重定向。
规则已尝试,但不起作用,尽管在使用 IIS 重写规则测试工具时看起来会这样:
<rule name="SpecsSpiderCrawl" stopProcessing="true">
<match url="(\/\/.*\/)(.*)\?" />
<conditions>
<add input="{QUERY_STRING}" pattern="specs=.*" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:2}" appendQueryString="false" redirectType="Permanent" />
</rule>
我太难了。这有效:
<rule name="SpecsSpiderCrawl" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{QUERY_STRING}" pattern="specs=.*" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" appendQueryString="false" redirectType="Permanent" />
</rule>
{HTTP_HOST}
只是 uri 的 example.com 部分
{R:0}
将得到文件夹名称appendQueryString="false"
将删除整个查询字符串(这对我的用例来说很好。