【问题标题】:Urlrewritingnet 301 redirect strange behaviorUrlrewritingnet 301 重定向奇怪的行为
【发布时间】:2014-09-17 08:11:53
【问题描述】:

我将一个站点从 php 系统迁移到 Umbraco。 我想将所有旧的 url (es: index.php? ...) 重定向到当前站点的根目录,所以我写了一条规则:

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
    <rewrites>        
        <add name="301RedirectDirUrlsOldSite" virtualUrl="^http\://www.mysite.it/index.php(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="http://www.mysite.it/" redirect="Domain" redirectMode="Permanent" ignoreCase="true" />
    </rewrites>
</urlrewritingnet> 

该规则工作正常,但重定向还包括查询字符串参数。例如,我触发了 www.mysite.it/index.php?p=10&url=test 我被重定向到相同的 url(没有 404),但没有重定向到 www.mysite。它只是我所期望的。我的规则有什么要改变的吗?

【问题讨论】:

    标签: php umbraco urlrewriting.net


    【解决方案1】:

    在 Umbraco 中进行 php 重写时,我使用以下应该对您有用的方法:

    <add name="phpRewrites" virtualUrl="^~/(.*)\.php(.*)" rewriteUrlParameter="IncludeQueryStringForRewrite" redirect="Application" redirectMode="Permanent" destinationUrl="~/" ignoreCase="true" />
    

    virtualUrl 和 destinationUrl 的区别可能看起来微不足道 - 但请试一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 2010-12-08
      • 2011-05-18
      相关资源
      最近更新 更多