- ベストアンサー
.htaccessファイルの意味とRewriteRuleの使い方
- .htaccessファイルの中の(1),(2),(3)について説明してください。
- (4)と(5)のRewriteRuleの使い方について教えてください。
- Zend Frameworkの.htaccessファイルについて教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
http://net-newbie.com/trans/mod_rewrite.html mod_rewrite全般はここら辺を見ていただくとして REQUEST_FILENAMEというのは、リクエストされたファイルの名前、ですね。 この例だと、URLが例えば、「http://example.com/zend23/kubo/public/aaa.php」 だったとすると、REQUEST_FILENAMEは「aaa.php」ですね。 で、その後ろ (1) -s [OR] そのaaa.phpがファイルサイズを持つものか又は([OR]は文字通りor又は||) (2) -l [OR] そのaaa.phpがシンボリックリンクか又は (3) -d ディレクトリ名だった場合は、 (4) RewriteRule ^.*$ - [NC,L] どんなファイル名でも、そのまま表示する (5) RewriteRule ^.*$ index.php [NC,L] 上記(1)~(3)に適合しない場合はindex.phpを表示する といった具合です。 (5)だけにしてしまうと、全ての実体のあるリソース(jpgとか画像や普通においてあるHTMLファイルとか)だろうが全てindex.phpにリダイレクトされてしまいます。 逆に(4)だけだった場合は、 「http://example.com/zend23/kubo/public/」 という指定でURLにアクセスされて且つ、index.phpが無指定の場合に自動的に表示されるファイル名として指定がされていなかった場合に、意図しないもの(index.htmlやApacheで設定した何らかの自動表示されるファイル名)にアクセスされてしまいます。
お礼
詳しい説明ありがとうございました。 よくわかりました。