我在子文件夹中创建了一个MVC应用程序。这是目录地图:
Root
-MVC
--.htaccess
--index.php
--App
---Controller
---Core
---Model
---Route
---Service
---View
---application.init.php
--Public
---css
---img
---script
---404.html
---index.php
---.htaccess
我创建了原始的public / .htaccess文件,如下所示:
RewriteEngine on
RewriteBase /MVC/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) index.php?url=$1 [QSA,L]
它有效,但我不喜欢在url中显示'public'文件夹,所以我删除了public / .htaccess的内容并将其移动到MVC / .htaccess并将其修改为如下所示:
RewriteEngine on
RewriteBase /MVC/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) public/index.php?url=$1 [QSA,L]
MVC应用程序本身仍然有效,但我的重写条件都没有,所以我无法访问任何css文件,图像等。