2016-12-02 16 views
0

大文字の単語を選択してクエリに書き換えるためにRewriteRuleルールを書き込もうとしています。大文字の単語は異なる位置にある可能性があります。大文字で単語を書き直してください

の例では、単語のケルピーを見つけることになるが、無視される他の単一の大文字があります - のような http://www.atestdomain.com.au/animals/search.php?keyword=&category=2&dogtype=KELPIE&location_id=2&submit=Search

+0

正規表現は英語を認識しません。 URLが '/ FooBarABAZ.htm'の場合は、' BAZ'または 'ABAZ'が必要かどうかを知ることができません。内部URLにはたくさんの情報がありますが、 'dogtype'だけが変更されていますか?そうでなければ、これらのURLがたくさんあるので、 'RewriteMap'を使うほうが良いでしょう。 – Walf

+0

Walfに感謝します。しかし、([A-Z] {2、})を使ってRewriteMapを調べてみましょう。大文字が1つ以上ある唯一の単語になるので、必要な単語を得ることができます。私は必要なURLを返すのに問題があります。 RewriteRule([AZ] {2、})(。*)/animals/search.php?keyword=&category=2&dogtype=$1&location_id=2&submit=Search returns http://www.atestdomain.com.au/DogsBigBlack/animals/ほぼ正しいですが、/ DogsBigBlack/ – Sparkinstein

答えて

0

何かになるための完全な首都

http://www.atestdomain.com.au/DogsBigBlackKELPIE.htm ニーズの唯一の単語であることに注意しますこれはあなたが何をしているかです。

RewriteRule ([A-Z]{2,})\.htm$ animals/search.php?keyword=&category=2&dogtype=$1&location_‌id=2&submit=Search [NS,NE,B,DPI,L] 

しかし、私が言ったように、まだ大文字のキーワードを区別することはできません、と(それはあなたのスキームに大文字されるだろうように見えます)単一文字の単語が先行1。

+0

を検索する必要はありません。あなたの応答に感謝しますが、http://htaccess.mwl.be/をテストとして使用してください。私はまだ、希望の結果を得る。 [NS、NE、B、DPI、L]はまだ私にhttp://と与えています検索RewriteRule([AZ] {2、})\ .htm $ animals/search.php?キーワード=&カテゴリ= 2&dogtype = $ 1&location_ id = //www.atestdomain.com.au/DogsBigBlackanimals/search.php?keyword=&category=2&dogtype=KELPIE&location_id = 2&submit =検索....結果のURLからDogsBigBlackを削除する必要があります..... URLが生成され、単一の文字の単語がないので、ヘッドアップの単一文字の単語にも感謝します。 – Sparkinstein

+0

あなたはその結果が何であるかをどのように知っていますか?適切な内部リライトでは、トレースを有効にしてログを調べない限り、URLは決して表示されません。それはちょうど正しい場所または404に行くでしょう。あなたがあなたのアドレスバーにそれを見るなら、何かが間違っています。あなたが私たちに見せていない他のルールがありますか? – Walf

+0

htaccess.mwl.beをテストとして使用する – Sparkinstein

関連する問題