瘦PHP路由不工作

瘦PHP路由不工作,php,apache,.htaccess,Php,Apache,.htaccess,我已经构建了一个苗条的PHP应用程序,并在我的Web服务器上发布了它 只有通过index.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应用程序,并在我的Web服务器上发布了它

只有通过index.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中,
public
文件夹被配置为
DocumentRoot/var/www/example.com/public

我的
.htaccess
文件包含以下内容:

<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>

选项-多视图
重新启动发动机
#重定向尾部斜杠。。。
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]

有没有关于如何修复我的路由的建议?

Slim建议对Apache使用这些规则。(.htaccess)


请记住,您必须在Apache配置中将AllowOverride指令设置为“All”,并确保“/public”是您的根虚拟目录。

我的
htaccess
文件中有这些行。我没有将
apache2.conf
编辑为
AllowOverride
这对我有效,但最后一行是RewriteRule^index.php[QSA,L]*,我必须删除asterix*才能正常工作。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]