正規表現の経験はほとんどありませんが、作成中のいくつかの PHP スクリプトに対して独自のルールをいくつか作成しています。注:少ないです。
基本的に、いくつかを除くすべての URL を引数として index.php に渡し、データベースでスラッグとして定義されているほとんどの URL を書き換えたいと考えています。
例: /admin、/config、/images、/lib、/template は存在しますが、書き換えたくありません。しかし、それ以外は、引数として index.php に渡したいと思います。
私は現在これを行っています:
url.rewrite-once = (
"^/(.*)$" => "/index.php?$1"
)
これはデータベース スラッグで美しく機能しますが、上記のフォルダーもリダイレクトします。これらには直接アクセスする必要があるファイルが含まれていますが、一致から文字列を除外する方法を説明している場所が見つかりません。
これを行う方法がわかれば、残りを理解できますが、正規表現に慣れていないため、どこから始めればよいかわかりません。
どんな助けでも大歓迎です。
編集: それ以来、私はこれらを試してみました:
"^/(index\.php|admin|config|images|lib|template)" => "$0",
どの FF がそれらのフォルダーのエンドレス リダイレクトを報告するか。
"^/(?!(admin|config|images|lib|template))(.*)$" => "$0"
フォルダー以外のすべてに一致するわけではありません。
"^/([^(admin|config|images|lib|template)]*)$" => "/index.php?$1"
繰り返しますが、何も書き換えません。
"^/(.*)$" => "/index.php?$1"
書き換えたくないフォルダーを含め、すべてを書き換えます。