我已经构建了一个Slim PHP应用程序并将其发布在我的网络服务器上.
例如example.com/index.PHP/login和/index.PHP/signup
两者都呈现预期的视图
但如果我省略index.PHP并浏览到`example.com/login’或’example.com/signup’,我会得到一个404
我的.htaccess文件与index.PHP位于同一目录中
public/
├── .htaccess
├── index.PHP
公用文件夹在apache中配置为DocumentRoot /var/www/example.com/public
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$/$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.PHP [L]
</IfModule>
有任何建议如何修复我的路由?
解决方法:
Slim建议对Apache使用这些规则. (htaccess的)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.PHP [QSA,L]
Rembember您必须在Apache配置中将AllowOverride指令设置为“All”,并确保“/ public”是您的根虚拟目录.