【问题标题】:Apache Redirect does not work…Apache 重定向不起作用……
【发布时间】:2010-11-09 15:45:02
【问题描述】:

有时我不得不对 mod_rewrite 或者更确切地说是 Apache 的重定向感到困惑。现在我有一个简单的任务,这让我抓狂,因为我无法让它工作:

/journal/(.*) 下的所有内容现在都在/blog/(.*) 下。

这就是我现在拥有的:

RewriteEngine on
RewriteBase /
RewriteRule ^/journal/([^/]+)$ /blog/$1

如果重要的话:这是一个 drupal 安装。

【问题讨论】:

    标签: apache drupal mod-rewrite redirect


    【解决方案1】:
    • Drupal 在.htaccess 中有现有的重写规则。如果您将规则放在文件的顶部,Drupal 的规则可能会覆盖它们。
    • 我认为您不希望在规则中使用起始 /
    • 如果您希望规则能够重定向使用旧的/blog/ URL 的人,那您就错了。如果这就是您要执行的操作,则需要执行重定向,如下所示:

    .

    RewriteEngine on
    RewriteBase /
    RewriteRule ^journal/(.+)$ http://example.com/blog/$1 [R=301,L]
    

    【讨论】:

      【解决方案2】:

      因为你的重写基础是 / 我认为你可以省略日志前面的 /。所以试试

      重写规则 ^journal/([^/]+)$ /blog/$1

      此外,如果您有任何其他规则发生,您可以在语句末尾附加 [L] 以确保不会发生其他重写。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-28
        • 1970-01-01
        • 2015-02-22
        • 2016-06-23
        • 2016-07-15
        • 2019-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多