私の問題は、サーバーがフォルダー内のファイルを認識できるようにすることです。独自の MVC フレームワークを実行しています。コントローラーからページをリダイレクトするときに問題が発生します。たとえば、初めて空の URL を使用してホームコントローラーのような
/MySite/
ものは、ページを表示するために必要なすべての画像とファイルを見つけました。次に例を示します。
/MySite/css/file.css
または/Site/Image/image.jpeg
、
サーバーが書き換えられた url でディレクトリを見つけたためpublic/Image/image.jpeg
です。
しかし、次のようなURLを作成し/MySite/index/action
、コントローラーが最終的にページを返し、ページ内のすべてのファイルがロードされたときに呼び出す別のアクションを定義すると、そのファイルを見つけようとしますが、これらのURLは次のようにフロントコントローラーに返されます
/MySite/index/css/file.css
URLがまったく上書きされない理由がわかりませんが、ファイルの呼び出しは最後の部分のみを上書きするため、アクション、当然、最初に見つかったファイルpublic/Image/image.jpeg
はpublic/index/Image/image.jpeg
..
誰でもこれを手伝ってもらえますか?
私の .httpaccess ファイルは本当にシンプルです:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
および public 内のファイル:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\??(.*)$ index.php?route=$1&query=$2 [L,QSA]
</IfModule>