Apache Redirect不起作用......

时间:2010-11-09 15:45:02

标签: apache drupal mod-rewrite redirect

有一段时间我不得不用mod_rewrite或Apache的重定向来徘徊。现在我有一个简单的任务,这让我疯了,因为我无法让它运转起来:

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

这就是我现在所拥有的:

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

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

2 个答案:

答案 0 :(得分:2)

  • Drupal在.htaccess中存在重写规则。如果您将规则放在文件的顶部,Drupal的规则可能会覆盖它们。
  • 我认为您不希望在规则中出现/
  • 如果您希望规则重定向使用旧/blog/网址的用户,那么您就错了。如果这是你想要做的,你需要执行重定向,如下所示:

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

答案 1 :(得分:1)

因为您的重写基础是/我认为您可以在期刊前面留下/。所以试试

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

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