2

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

#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]

但它不起作用。

4

1 回答 1

3

URI/?q=user/register已经是基础,它只是有一个查询字符串,URI 仍然是/. 如果您的目标是删除查询字符串,那么您需要先匹配查询字符串,这在RewriteRule. %{QUERY_STRING}您需要在 a中匹配RewriteCond

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

请注意,目标?末尾有 a,这将删除查询字符串,因此q=user/register不会自动附加。

于 2012-10-25T07:11:48.537 回答