小ネタです。
URLで処理を分岐させる時に、似たようなURLを一緒に扱いたい場合があります。
例えば、次のような違いを同じドメインとして判定したい時です。
- サブドメインの有無
- httpsとhttpの混同
そんな時に使う正規表現について記載します。
URL正規表現の書き方
例えば、「example.com 」と言うドメインがあったとします。
前述の違いに対応した正規表現は次のように書きます。
^https?://([^.]+\.)*example\.com
使用例
htaccessで特定のリファラのみアクセスを有効にする方法です。
例えば、次のドメインを対象にするとします。
htaccessで制限を書くときに、次のように書くと1つの分岐で判定できます。
SetEnvIf Referer "^https?://([^.]+\.)*example\.com" ref01
order deny,allow
deny from all
allow from env=ref01