IIS 10网站需要URL重写更改WordPress子文件夹名称

h6my8fg2  于 2023-01-30  发布在  WordPress
关注(0)|答案(1)|浏览(163)

我有一个客户端,其中有一个运行在IIS 10上的ASP .NETMVC项目。
在IIS 10中,我在站点下安装了一个应用程序,指向WordPress安装文件夹。别名以前是oldblog,现在更改为blog
WordPress的URI被要求更改,所以我需要永久重定向到旧的URI到新的请求。
ASP根站点:https://www.example.com/
旧的WP URI:https://www.example.com/oldblog/
新的WP URI:https://www.example.com/blog/
以下规则仅部分有效。oldblog确实被重写为blog,但URI的其余部分不可预测/不一致。

<rule name="Rewrite /oldblog to /blog" stopProcessing="true">
    <match url="^oldblog(.*)$" ignoreCase="true" />
    <action type="Redirect" url="https://www.example.com/blog/{R:1}" redirectType="Permanent" />
  </rule>

我需要将对/oldblog/* 的所有请求重写为/blog/* -不管完整的URI/querystring是什么,我只想将oldblog重写为blog

/oldblog/  =>  /blog/
/oldblog/category/somecategory/  =>  /blog/category/somecategory/
vd2z7a6w

vd2z7a6w1#

我建议您尝试使用下面的URL重写规则进行测试,以帮助您从下面的URL重定向。

/oldblog/  =>  /blog/
/oldblog/category/somecategory/  =>  /blog/category/somecategory/

示例规则

<rewrite>
            <rules>
                <clear />
            <rule name="Rule-3" enabled="true" stopProcessing="true">
                        <match url="(.*)" />
                            <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                                <add input="{HTTP_HOST}" pattern="example.com" />
                                <add input="{REQUEST_URI}" pattern="/oldblog(.*)|/oldblog" />
                            </conditions>
                            <action type="Redirect" url="/blog{C:1}" />
                    </rule>
            </rules>
</rewrite>

测试结果

此外,您可以根据自己的需要修改上述规则。

相关问题