書き換えルールを記述する必要があり、クエリパラメータに基づいてチェックを行う必要があります。.htaccessファイルのクエリパラメータのRewriteCond
公開URLはabc.com/lmn/xyz.json
のようなもので、オプションのパラメータoptparam
があります。
これは私が達成したいものです。
optparam
が存在し、not equal to false
ある場合は、条件が失敗し、他のルールを続けていく必要があります。
いくつかのブログや記事を読んだ後、私はこれらのルールについて非常にかすかな考えを持っています。これを試してみました:
RewriteCond %{QUERY_STRING} !^optparam $ [NC,OR]
RewriteCond %{QUERY_STRING} ^optparam=false$ [NC]
RewriteRule ^lmn/xyz.json$ xyz.json
しかし、私がtrueになるようにparam値を送信しても、RewriteRuleが適用されます。
ここで私が紛失していることを教えてください。
ありがとうございます!
例:
abc.com/lmn/xyz.json ==> Rule should fire
abc.com/lmn/xyz.json?optparam ==> Rule should not fire
abc.com/lmn/xyz.json?optparam=false ==> Rule should fire
abc.com/lmn/xyz.json?optPARAM=hfjsgzjrg ==> Rule should not fire
abc.com/lmn/xyz.json?optParam=FALSE ==> Rule should fire
「optparam」がまったくない場合はどうなりますか? – Anusha
'?!false $'は、valueがtrueのときにルールを起動しませんか?それはちょうど '偽$'であるべきですか?また、これをパラメータなしでどのように組み合わせますか? – Anusha
が例を追加しました。私の編集を確認してください – Anusha