在我们的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]
但它没有用。
答案 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 不会自动附加