LocationMatchで否定形
大昔にLocationMatchで先読み否定の記事を書きました。2013年4月だからもう5年ほど前ですね。
この昔の記事、間違っているわけではないんですがあまりこの例はよろしく無い。単純に"/hogehoge"とか"/fugafuga"といったURIなら問題ないんですが、/(スラッシュ)が複数あるURIだとこれちゃんとワークしませんね。
例えば "/hoge/fuga"を否定したい場合、こう書くとワークしない。
<LocaitonMatch /(?!hoge/fuga)>
/hoge/fugaの2つめの/にマッチしてしまう。ゆえに場所を表す正規表現として^をつけて/を否定表現の中に入れる。$もついでにつける。
<LocationMatch ^(?!(/hoge/fuga)$)>