Bitbucket

自分用の技術メモ

Apache DirectorySlash directive

Apache には、ディレクトリに “/” が無い場合には自動的に補完してリダイレクトする機能があるが、これは DirectorySlash ディレクティブによって制御することができる。 この書き換えは mod_rewrite の前に行われるため、特殊な書き換えを行う場合には Off にする必要がある。(特に理由が無い限り、規定値の On のままで良いだろう。)

たとえば、ディレクトリに対して “/” 無しでアクセスさせたい場合には、 mod_rewrite のディレクティブと組み合わせて次のように記載する。

1
2
3
4
DirectorySlash Off
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ $1/

これにより、たとえば http://www.example.com/foo というURLにアクセスすると http://www.example.com/foo/ と同一の内容が表示される。

Comments