Drupal 301重定向

时间:2014-03-07 15:38:45

标签: .htaccess redirect drupal http-status-code-301

我在Drupal中进行了一组301重定向。

我在.htaccess文件中使用标准方法:

<IfModule mod_rewrite.c>
RewriteEngine on

Redirect 301 /user/testimonials http://thesitedomain.com/testimonials
Redirect 301 /user/contact http://thesitedomain.com/contact
</IfModule>

但是返回的网址以“?q = user”结尾并停止工作。例如:

http://thesitedomain.com/about?q=user/about

我对htaccess重定向(显然)并不擅长,而且我根本不是Drupal专家。

另外,如果你知道一个全面的htaccess重写资源,我将非常感谢阅读帽子。

4 个答案:

答案 0 :(得分:0)

我无法与drupal交谈,但我知道您不需要将这些重定向包含在<IfModule mod_rewrite.c>标记中,因为它们不使用RewriteEngine,以下就足够了:

Redirect 301 /user/testimonials http://thesitedomain.com/testimonials
Redirect 301 /user/contact http://thesitedomain.com/contact

答案 1 :(得分:0)

您需要使用mod_rewrite来删除现有的查询字符串:

RewriteEngine On

RewriteRule ^user/testimonials/?$ http://thesitedomain.com/testimonials? [L,NC,R=301] 
RewriteRule ^user/contact/?$ http://thesitedomain.com/contact? [L,NC,R=301] 

记下目标中的尾随?,删除现有的查询字符串。

答案 2 :(得分:0)

两个网址都在同一个drupal中吗?或者你是从另一个网站搬家的? 我的意思是:

你可能需要为/ user / testimonials添加一个url别名,例如/ testimonials

在drupal 7中的/ admin / config / search / path下查看admin。

答案 3 :(得分:0)

使用.htaccess文件不是一个好习惯,因为在某些更新中你也必须更新.htaccess文件。

您可以尝试GlobalRedirect模块来管理重定向。