1

我正在从 ASP.NET 迁移到 Wordpress,我想在 IIS 7.5 中使用带有 URL 重写的重写映射来放置 301 重定向规则。我在一个名为 rewritemap.config 的文件中拥有所有重定向,并且我在 IIS 中的 URL 重写中创建了重定向规则,但我无法让重定向与 Wordpress 一起使用。我不知道这是否可能与 Wordpress 在 web.config 中拥有自己的重写规则以及将所有内容发送到 index.php 一样,它在内部处理它自己的重写,如此链接中所述:

Wordpress 如何在没有重写映射的情况下重写 URL?

web.config 的 XML 如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rewriteMaps configSource="rewritemap.config" />   
      <rules>

                <rule name="Redirect old links from redirect map" stopProcessing="true">
                    <match url=".*" negate="false" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
                    </conditions>
                    <action type="Redirect" url="{C:1}" appendQueryString="false" />
                </rule>


                <rule name="wordpress" enabled="true" patternSyntax="Wildcard">
                    <match url="*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>

      </rules>
    </rewrite>
  </system.webServer>
</configuration>

rewritemap.config 文件的 XML 是由 IIS 管理员创建的,所以我希望它是正确的,并且它与我在其他博客文章中看到的格式相匹配,这些文章已经展示了如何执行此操作。我是否正在尝试一些不可能的事情?我有数百个旧的 aspx 页面,我需要 301 重定向到 Wordpress 站点中的特定链接,并且有许多对旧链接的外部引用,甚至考虑没有 301 重定向。

4

0 回答 0