0

mypage.com/store/index.php?product_id=62&thisvar=doesntmatterをmypage.com/store#page-anchorにリダイレクトしたい。私の現在のリダイレクトはこのように見えますが、何もしていないようです。私は何か間違ったことをしていますか?

RewriteCond %{QUERY_STRING} ^([^&]&)*product_id=62(&|$)
RewriteRule ^/store/index\.php$ /store#page-anchor [R=301,L]

編集:書き換えルールの前に次の行があることに注意してください。

RewriteEngine On
RewriteBase /
4

1 に答える 1

1

ビットは([^&]&)*完全に正しく見えません。これは、「a&b&c&」(&以外の文字と&のペア、任意の回数繰り返される)のような文字列に一致しますが、おそらくそれはあなたが望むものではありません。書きたかったと思いますが、 (安全性、読みやすさ、優雅さのために)お([^&]*&)*勧めします。(^|&)product_id=62(&|$)

ああ、それが.htaccessにある場合(httpd.confではない場合)、RewriteRuleのパターンは相対URIである必要があります。つまり、で始まるべきではありません/

于 2012-09-05T22:45:33.567 に答える