0

カテゴリ フィルターを含むクエリ文字列を使用して、正規表現と .htaccess を使用して古い Web サイトのブログ アーカイブを新しいサイトのメイン アーカイブの下にリダイレクトしようとしています。

次のリダイレクトを機能させようとしています

RewriteRule ^blog/2012/04 http://example.com/2012/04?cat=306,10,11 [R=301,L]

?正規表現と .htaccess を使用してターゲット URL クエリ文字列を認識するにはどうすればよいですか?

4

2 に答える 2

0

書き換えルールは、スペースで区切られた 3 つの部分で構成されています

the regex: ^blog/2012/04

the target: http://example\.com/2012/04\?cat=306,10,11

flags: [R=301,L]

ターゲットに適用される正規表現はありません!

ソース URL からターゲット URL にクエリ文字列を転送する場合は、次の操作を実行できます。

RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^blog/2012/04$ http://example.com/2012/04?%1 [R=301,L]
于 2012-09-25T13:03:07.617 に答える
0

?正規表現の特殊文字です。これは量指定子であり、前の文字を「オプション」にします。これは、存在するかどうかを意味します ==> 0 回または 1 回一致します。

したがって、文字列で文字どおりに一致させたい場合は、バックスラッシュを使用してエスケープする必要があります。

RewriteRule ^blog/2012/04 http://example\.com/2012/04\?cat=306,10,11 [R=301,L]

ところで。ドットについても同じです.。これは任意の文字に一致する特殊文字であるため、ドットに一致する必要がある場合はエスケープします。

于 2012-09-25T08:09:52.580 に答える