0

私はこれを作ろうとしています:

www.amazingjokes.com/cache/search.php?term=programming

これに行く:

wwww.amazingjokes.com/popular/programming

しかし、私はそれを適切に機能させることができません。私は次のようなものを試しました

RewriteRule ^cache/search.php?term=(.*)$ /popular/$1 [R=301,L]

しかし、役に立たない。

4

1 に答える 1

2

RewriteRule はクエリ文字列を受け取りません。実際に受け取っているのは、ファイルへのパスだけです。だからあなたがしようとしている間/cache/search.php?term=programming、それが実際に受け取っているのはただ/cache/search.phpです.

ただし、%{QUERY_STRING}変数で RewriteCond を使用できます。

RewriteCond %{QUERY_STRING}     ^term=(.*)$     [NC]
RewriteRule ^/cache/search.php$ /search/%1      [NC,L,R=301]
于 2012-09-08T12:57:11.013 に答える