【问题标题】:Composite C1 - 'URL Aliases', redirecting URL's with QuerystringComposite C1 - 'URL Aliases',使用 Querystring 重定向 URL
【发布时间】:2013-10-14 17:42:17
【问题描述】:

我有一个 Composite C1 CMS 网站。

为了保持 SEO 汁液,我需要重定向一些旧的 - 主要是博客 URL - 像这样:http://www.mydomain.com/en/news/news.php?b=68http://mydomain.com/en/Blog/2013/04/30/Friendly-Article-Name

http://www.mydomain.com/en/news/news.php?b=69http://mydomain.com/en/Blog/2013/04/30/Another-Friendly-Article-Name

大约有 100 个要重定向的链接。

“URL 别名”模块似乎运行良好,直到您添加查询字符串(上面的?b=68) - 然后它停止工作。

如何重定向多个相同的 URL,每个 URL 都有不同的查询字符串?

【问题讨论】:

    标签: c1-cms


    【解决方案1】:

    这绝对是 Url Aliases 包中的一个错误。

    解决此问题的最快方法可能是推出您自己的 http 模块,至少在发布修复程序之前是这样。 您可以从 GitHub 上的包的 repo 中获取源并对其进行调整以解决问题,确保您从 web.config 中取消注册捆绑的 http 模块并注册您自己的。

    当前http模块源在这里:https://github.com/CPHCloud/c1packages-urlaliases/blob/v1.0.2/CphCloud.Packages.UrlAlias/UrlAliasHttpModule.cs

    incomingUrlPath 的值更改为使用PathAndQuery 而不是AbsolutePath,如下所示:

    ...
    static void httpApplication_BeginRequest(object sender, EventArgs e)
        {
            var httpApplication = (HttpApplication)sender;
            var incomingUrlPath = HttpUtility.UrlDecode(httpApplication
                .Context.Request.Url.PathAndQuery.TrimEnd(new[] { '/' }));
    ....
    

    在您的 web.config 文件中,您应该取消注册 Url 别名的处理程序

    <!--add name="UrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule,
      CphCloud.Packages.UrlAlias, 
      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /-->
    

    并注册您自己的

    <add name="CustomUrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule, 
      YourAssemblyName, 
      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> 
    

    完全披露:我是 URL Aliases 包的作者。

    【讨论】:

    • 非常感谢。你知道开发者(眨眼)什么时候会修复它吗?
    • Composite 必须在提交包后对其进行审核,因此几天之内应该可以完成。当我提交它时,我会将它作为预发布添加到 Github 存储库中,并发布构建的链接。然后,您可以在 Composite 将其发布到他们的附加市场之前将其安装为本地包。
    • 非常好 - 我可以等几天。非常感谢。我从来没有“更新”过一个包——我要卸载然后重新安装吗?
    • 我现在已经提交了包裹,我想它会在星期一的某个时间到来。更新我是不可能的,所以你必须卸载并重新安装。请注意,您将丢失已使用 1.0.2 版本创建的别名。
    • 我发现了一个错误。如果您尝试设置 301 重定向 - 保存 - 看起来不错,但是当您再次编辑 URL 别名时,它说它是 302。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多