繁体   English   中英

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

[英]IIS 10 site needing URL Rewrite for changed WordPress subfolder name

我有一个在 IIS 10 上运行的 ASP.NET MVC 项目的客户。

在 IIS 10 中,我在指向 WordPress 安装文件夹的站点下设置了一个应用程序。 别名以前是oldblog ,现在已更改为blog

要求更改 WordPress URI,因此我需要将对旧 URI 的请求永久重定向到新 URI。

根 ASP 站点: https://www.example.com/

旧 WP URI: https://www.example.com/oldblog/

新的 WP URI: https://www.example.com/blog/

以下规则仅部分有效。 oldblog确实被重写为blog ,但是 URI 的 rest 是不可预测的/不一致的。

  <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/

我建议您尝试使用下面的 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>

测试结果

在此处输入图像描述

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM