我尝试使用IIS网址重定向将wordpress帖子重定向到coldfusion页面。帖子链接是
domain.com/?p=345
所以我使用滚动模式设置了以下重定向
/?p=([0-9]+)
指向以下页面......
/blog.cfm?ID={R:1}
但遗憾的是,当我查看该页面时,它只会刷新并且不会重定向到blog.cfm页面。
非常感谢任何帮助或建议。
以下是完整的web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="wp post redirect" stopProcessing="true">
<match url="/?p=([0-9]+)" />
<action type="Redirect" url="blog.cfm?ID={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
答案 0 :(得分:1)
你的规则应该是这样的:
<rule name="wp post redirect" stopProcessing="true">
<match url="^$" />
<conditions>
<add input="{QUERY_STRING}" pattern="p=([0-9]+)" />
</conditions>
<action type="Redirect" url="blog.cfm?ID={c:1}" appendQueryString="false" />
</rule>
<强>解释强>
您的规则错误<match url=
仅包含没有查询字符串的网址路径。
<match url="^$" />
表示对请求应用此规则,该规则对^$
regexp有效。它仅适用于主页
<add input="{QUERY_STRING}" pattern="p=([0-9]+)" />
表示应用此条件。仅当查询字符串对p=([0-9]+)
regexp
<action type="Redirect" url="blog.cfm?ID={c:1}" appendQueryString="false" />
重定向到log.cfm?ID={c:1}
{c:1}
首先匹配来自条件的正则表达式