我有一个基于 Slim 框架的 PHP 应用程序,在/public
目录和以下文件中有静态.htacces
文件:
# URL routing
Options -MultiViews
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule ^ %{DOCUMENT_ROOT}/public%{REQUEST_URI} [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
当我尝试访问 /index.php 时,Apache 直接返回它,但我希望它被传递以重写为 index.php(这将返回 404 未找到)。我该怎么做?
如果我尝试删除RewriteCond %{REQUEST_FILENAME} !-f
:
# URL routing
Options -MultiViews
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule ^ %{DOCUMENT_ROOT}/public%{REQUEST_URI} [L]
RewriteRule ^ index.php [QSA,L]
Apache 向我返回“内部服务器错误”。我怎样才能完成它?
更新:我的项目结构
www/
├── app/
├── cache/
├── public/
│ ├── css/
│ ├── img/
│ └── js/
├── vendor/
├── views/
└── index.php