0

次の書き換えルールがあります。

RewriteEngine on
RewriteCond %{QUERY_STRING} ^manufacturer=&
RewriteRule (.*) $1? [R=410,L]

しかし、それは機能していないようです。http://www.example.com/?manufacturer=someonetohttp://www.example.com/page.php?manufacturer=someonetoのようなURLでリダイレクトしようとしています page.php

私は何が間違っているのですか?

編集:mod_rewiteを有効にし、サイト構成でAllowOverrideAllを使用しています上記のコードは.htaccessファイルにあります

4

1 に答える 1

1

クエリ文字列は、^manufacturer=&の製造元パラメータにのみ一致します。また、等号の後にアンパサンドが続く必要がありますが、これは目的の動作ではないようです。

ちなみに、ステータスコード410は、リソースがなくなったことを意味します(要求されたリソースが使用できなくなり、再び使用できなくなることを示します)。

クエリパラメータなしで現在のページにリダイレクトしたいようですので、代わりに302または301リダイレクトを使用することをお勧めします。

これを試して:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^manufacturer=.+$
RewriteRule .* $0? [R=301,L]
于 2013-03-27T13:10:43.077 に答える