[PHP-users 33337] .htaccess

mami mm_tig @ yahoo.co.jp
2008年 2月 28日 (木) 19:31:05 JST


田中です。

あるディレクトリに
.htaccess を次のように宣言することで

--
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ filenamecheck.php?filename=$1
--

http://xxx.com/abc
のようなURLが
http://xxx.com/filenamecheck.php?filename=abc
と同じ意味になりphp側で
パラメータ「abc」を知ることが出来ます。

しかし
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
が「REQUEST_FILENAME のファイル、ディレクトリが存在しなかったら」
という意味なので存在していた場合、そのファイル、ディレクトリが表示されて
しまいます。

http://xxx.com/abc.html
でアクセスされて、「abc.html」がなければ
パラメータとして「abc.html」が渡ってきますが
「abc.html」が存在していた場合、
そのまま「abc.html」が表示されてしまいます。

ファイルやディレクトリがあっても、なくても
パラメータとして、php側でファイル名を受け取りたいのですが
どのようにすれば出来るのか、ご教授頂ければと思います。

よろしくお願いします。

--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/


PHP-users メーリングリストの案内