wordpress post重定向规则不能正常工作IIS / coldfusion

时间:2017-07-15 16:38:53

标签: wordpress iis url-rewriting coldfusion

我尝试使用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>

1 个答案:

答案 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}首先匹配来自条件的正则表达式