- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:htaccessのマッチが失敗します)
htaccessマッチの失敗と修正方法
このQ&Aのポイント
- htaccessの書き方でマッチが失敗し、全てのリクエストがall.cgiに渡されてしまう問題が発生しています。
- リクエストURI中に「abc」という文字列が3回以上出現する場合にはabc3.cgiを、1回から2回の場合にはabc12.cgiを動作させるという条件を設定しています。
- 手直し方法としては、RewriteCondの正規表現パターンを修正し、マッチする条件を適切に指定すれば解決する可能性があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
それなら ##リクエストURI中に、abcという文字列が3回以上ならabc3.cgiを動作させる RewriteCond %{Request_URI} abc.*abc.*abc [NC] RewriteRule ^(.+)$ abc3.cgi?$1 [L] ##リクエストURI中に、abcという文字列が1回以上(3回未満)ならabc12.cgiを動作させる RewriteCond %{Request_URI} abc [NC] RewriteRule ^(.+)$ abc12.cgi?$1 [L]
その他の回答 (1)
- php504
- ベストアンサー率42% (926/2160)
回答No.1
abcで始まってabc.htmlで終わるなら RewriteCond %{Request_URI} "^abc.*abc.*abc\.html$" [NC] かな
質問者
お礼
回答いただきありがとうございます!! mukankei_abc_ab_abc_abc_abc_abc_mukankei_.html など様々なテストをしたいのですが、 URL中に挟まれる、abcという文字列の数や、出てくる場所が予測できません。 そこで、abcという文字列の出現回数によって振り分けをしたいのですが、うまくマッチしてくれません。 どうすればいいでしょうかね・・・涙;
お礼
ありがとうございました!! とても助かりました!