私が取り組んでいる小さなプロジェクトのためにストリップされたフレームワークを作成しましたが、1つの小さな問題を除いて、すべてが順調に進んでいます。
私は次のようなフォルダ構造を持っています:
root
- app
- controller
- views
- webroot
- css
- js
- img
- misc
- config
- data
- lib
ルートフォルダに.htaccess
、リクエストをフォルダにリダイレクトするファイルがありwebroot
ます。
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
.htaccess
そこに入ると、リクエストがファイルまたはフォルダへの直接リクエストであるかどうかをチェックする別のファイルがあります。そうでない場合は、 :内のindex.php
ファイルに渡されます。webroot
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !favicon.ico$
RewriteRule ^(.*)$ index.php?uri=$1 [QSA,L]
私が言ったように、それはすべてうまく機能していますが、1つの小さな問題があります:
をリクエストするhttp://example.com/misc
と、アドレスバーのアドレスがに変更されますhttp://example.com/app/webroot/misc/
。
あなたが要求するときhttp://example.com/misc/
、これは起こりません!
重要な点は、プロジェクトの目的のために、人々は「misc」フォルダ内のファイルに直接アクセスする必要があるということです。そこには、理想的にはURLの書き換えがないことindex.html
を意味するファイルがあります。http://example.com/misc
ファイルに移動するだけです。私がこれを行う理由は質問にとって重要ではないので、誰かが「フォルダをそのように設定するべきではない」と言う前に、私はそれを行うさまざまな方法を試しましたが、プロジェクトの目的のために、これはそれを行うための最良の方法。