2

私たちのdrupal7サイトでは、ユーザー登録を提供しておらず、.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}あなたはRewriteCond:で対戦する必要があります

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

?ターゲットの最後にaがあることに注意してください。これにより、クエリstrringが削除されるため、 q = user/registerが自動的に追加されません。

于 2012-10-25T07:11:48.537 に答える