我在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重写资源,我将非常感谢阅读帽子。
答案 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模块来管理重定向。