2011-07-11 21 views
0

私はいくつかのURLマスキングを行っており、それはすべて非常にうまく動作します。私はリダイレクトすることができます私の書き換えルールでの方法がある私は、同じページに2つの方法、www.domain.com/premier-league/2010-2011/arsenal/www.domain.com?competition=premier-league&season=2010-2011&teamid=arsenalhtaccess URLマスキングの書き換え

にアクセスすることができます上記で

RewriteRule ^(.*)/(.*)/clubs/(.*)/$ teams.php?competition=$1&season=$2&teamid=$3 

:私は今、解決しようとしている問題の一つを持っていますURL(理想的には301)は、誰かが丁寧に「www.domain.com?competition=premier-league&season=2010-2011&teamid=arsenal」の方法で行っていますか?事前

+0

私はアーセナルが好き... –

答えて

0

おかげで、あなたはあなたの「逆」のパターンと一致した。この1の後に別の書き換えルールを追加し、[L] ASTルールとしての両方をマークし、それがうまくいくかもしれない場合。私は最初にクエリ文字列を含めるようにURLを書き換え、[C]は次の規則にその文字列を追加します。その後、ブラウザを編集します。

RewriteRule ^(.)/(.)/clubs/(.*)/$ teams.php?competition=$1&season=$2&teamid=$3 [L] 
RewriteRule ^(.+) $1%{QUERY_STRING} [C] 
RewriteRule ^teams.php?competition=([a-zA-Z0-9]+)&season=([a-zA-Z0-9]+)&teamid=([a-zA-Z0-9]+)$ $1/$2/clubs/$3/ [R=301,L] 

注意これは、または2番目のルールの正規表現をテストしていません。文字の範囲を少し調整する必要があるかもしれません。また、私は2番目のルールでクエリ文字列のリライトをテストしていません。

編集:mod_rewriteのいくつかの一般的な使用例についてはこちらをご覧ください:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

+0

申し訳ありませんが、 'RewriteRule'は、クエリ文字列でこのように動作しません。 – LazyOne

+0

古いサイトから新しいドメインのホームページにすべてのページをリダイレクトする方法はありますか? –

+0

ああ、明らかに!書き換えチェーンを使用して追加する必要があります。それが動作するかどうか確認してみましょう... –