使用Drupal 7中的.htaccess重定向?q =用户/注册到基本URL

时间:2012-10-25 06:55:50

标签: .htaccess drupal redirect

在我们的drupal 7网站中,我们没有提供用户注册,并使用.htaccess将用户/注册页面重定向到基本网址。

#Custom redirects

RewriteRule ^user/register$ http://%{HTTP_HOST} [R=301,L]

#End Custom redirects

它正在工作,现在我需要将'?q = user / register'重定向到该基本URL。当我尝试

  RewriteRule ^?q=user/register$ http://%{HTTP_HOST} [R=301,L]

但它没有用。

1 个答案:

答案 0 :(得分:3)

URI /?q=user/register已经是基础,它只是一个查询字符串,URI仍然是/。如果您的目标是删除查询字符串,则需要首先匹配查询字符串,而不能在RewriteRule中执行。您需要与%{QUERY_STRING}中的RewriteCond匹配:

RewriteCond %{QUERY_STRING} q=user/register
RewriteRule ^/?$ http://%{HTTP_HOST}/? [R=301,L]

请注意,目标最后有?,这将删除查询格式,因此 q = user / register 不会自动附加