代码之家  ›  专栏  ›  技术社区  ›  nocksock

Apache重定向不起作用

  •  1
  • nocksock  · 技术社区  · 14 年前

    有一次,我不得不敷衍着修改mod-rewrite,或者更确切地说是apache的重定向。现在我有了一个简单的任务,这让我抓狂,因为我不能让它工作:

    一切都在下面 /journal/(.*) 现在在下面 /blog/(.*) .

    这就是我现在拥有的:

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

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   ceejayoz    14 年前
    • Drupal已经存在重写规则 .htaccess . 如果将规则放在文件的顶部,Drupal的规则可能会覆盖它们。
    • 我觉得你不想开始 / 在你的规则中。
    • 如果你希望规则能重新引导那些使用旧的 /blog/ 网址,你错了。如果您正试图这样做,则需要执行重定向,如下所示:

    .

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

    既然你的重写库是/我认为你可以把/放在日记本前面。所以尝试

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

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