【问题标题】:Redirect Hierarchical (Nested) URLs to Flat URLs将分层(嵌套)URL 重定向到平面 URL
【发布时间】:2012-01-29 01:23:21
【问题描述】:

这里的第一个问题:)。

我们当前运行的网站使用分层(嵌套)网址,例如example.com/folder/page/

我们现在更喜欢平面 URL,例如example.com/page/

我们的 CMS 可以轻松地允许切换到被赋予平面 URL 的页面。但是,它不处理来自旧分层 URL 的重定向。看起来需要在 .htaccess 文件中处理。

有 250 多个页面,因此最好使用可以处理所有重定向的代码,而不是为每个 URL 执行 301 重定向。

谁能提供一些 .htaccess 代码或指出正确的方向来实现重定向?

【问题讨论】:

    标签: apache .htaccess url url-rewriting hierarchical


    【解决方案1】:

    这可能不是世界上最有效的事情,但我在我的博客上使用了一个大的 .htaccess 文件,其中包含:

    RedirectMatch permanent ^/old/url http://example.com/new-url
    

    如果您可以编辑主 Apache 配置文件而不是使用 .htaccess 文件,那么使用 Redirect 而不是 RedirectMatch 可能会更有效(在 .htaccess 文件中更容易使用,因为如果我记得,当涉及到Redirect 时,它与相对于.htaccess 文件的URL 匹配,而不是……其他东西……但我可能错了。)

    【讨论】:

      【解决方案2】:

      您可以在 $DOCUMENT_ROOT 下的 .htaccess 中尝试此代码:

      Options +FollowSymLinks -MultiViews
      RewriteEngine on
      RewriteOptions MaxRedirects=5
      
      RewriteRule ^folder(/page/.*)$ $1 [NC,L,R=301]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-03
        • 1970-01-01
        • 2011-08-06
        • 2019-05-14
        • 1970-01-01
        • 2017-03-31
        • 1970-01-01
        • 2016-08-28
        相关资源
        最近更新 更多