.htaccess リダイレクトの正規表現の書き方を学んでいます。これまでのところ、期待どおりに動作しないいくつかの正規表現を除いて、必要なものはすべて把握できました。デスクトップ アプリケーションを使用して正規表現をテストしていますが、そこでは正常に動作しますが、.htaccess ファイルでは動作しません。
参考までに: RewriteBase はに設定されています/site/
これは着信 URL です。
/site/view-by-tag/politics/?el_mcal_month=3&el_mcal_year=2009
「政治」をつかんでリダイレクトしたい/site/tags/politics/
これが私が使用したものです:
RewriteRule ^view-by-tag/([a-zA-Z\-]+)/([a-zA-Z0-9\-\/\.\_\=\?\&]+) /tags/$1/ [R=301,L]
politics
URL に があるとリダイレクトが機能しないという問題があり、その?
理由がわからないため、後ですべての文字のキャプチャを追加しました。上記の URL で、 を削除する?
と正常に動作しますが、?
がそこにあると何も起こりません。これには理由がありますか?
307
からキャプチャしようとすると同じことが起こります/site/?option=com_content&view=article&id=307&catid=89&Itemid=55
この正規表現を使用しましarticle&id=([0-9]+) /?p=$1 [R=301,L]
たが、やはり、?
URL に があると、何をしてもリダイレクトが停止します。
その理由は何ですか?
問題の.htaccess
ファイルは、Wordpress ブログ (3.4.1) にあります。