2010-11-09 36 views
1

有一段时间我不得不用mod_rewrite或Apache的重定向。现在我有一个简单的任务,这促使我坚果,因为我无法得到它的工作:Apache重定向不起作用...

所有在/journal/(.*)现在在/blog/(.*)下。

这是我现在有:

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

如果它的事项:这是一个Drupal安装。

回答

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

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

因为您的重写基地是/我认为您可以在期刊前排除/。所以尽量

重写规则^杂志/([^ /] +)$ /博客/ $ 1

此外,如果您有任何其他规则发生可以追加[L]到语句的结束,以确保没有其他重写发生。