PHP-无脂肪框架-子文件夹中的命名URL路由-404

PHP-无脂肪框架-子文件夹中的命名URL路由-404,php,apache,fat-free-framework,Php,Apache,Fat Free Framework,形势 我试图在我的webapp中实现基于无脂肪框架3.4版的命名URL路由 我正在处理的项目位于子文件夹/foo中 因此,我通过localhost/foo访问该项目 这很好地工作,我也可以访问不同的URL路由没有任何问题 问题描述 当我访问模板中的路由时,它将呈现为 浏览器使用前导“/”将其解释为Web服务器的开始,因此将我转到localhost/do/stuff,而不是localhost/foo/do/stuff 代码 以下是我将命名路由传递到模板的方式: <form method="P

形势

我试图在我的webapp中实现基于无脂肪框架3.4版的命名URL路由

我正在处理的项目位于子文件夹/foo中 因此,我通过localhost/foo访问该项目

这很好地工作,我也可以访问不同的URL路由没有任何问题

问题描述

当我访问模板中的路由时,它将呈现为
浏览器使用前导“/”将其解释为Web服务器的开始,因此将我转到localhost/do/stuff,而不是localhost/foo/do/stuff

代码

以下是我将命名路由传递到模板的方式:

<form method="POST" action="{{ 'doStuff' | alias }}">
.htaccess

RewriteEngine On
RewriteBase /foo/
RewriteRule ^(tmp)\/|\.ini$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
apaches mod rewrite已启用。
我觉得我错过了一些重要的事情,但我已经花了两天的时间试图让它发挥作用,但运气不佳。任何线索将不胜感激

将以下代码添加到您的


它设置浏览器的默认基并附加每个url,即使其中包含
/

函数
alias()
返回相对于web应用程序的url,而不是相对于web根目录的url。因此,您应该在其前面加上web app
BASE
,如下所示:

<form method="POST" action="{{ $BASE }}{{ 'doStuff' | alias }}">


如果您使用的是模板引擎,我已经设置了以下
您的代码不起作用。您的代码仅适用于视图类。你在浏览器里查过你的源代码了吗?URL在标题中看起来正确吗?你指的是哪个代码?我将我的基本属性更改为yours,它现在将
输出到页面源代码中,这是webapp所在的位置。不幸的是,当访问命名路由时,我仍然会被路由到Web服务器的根目录(例如localhost/do/stuff而不是localhost/foo/do/stuff)。解决办法很简单,但我太盲目了,看不见它。非常感谢:)!
<base href="{{ @SCHEME.'://'.@HOST.@BASE.'/' }}">
<form method="POST" action="{{ $BASE }}{{ 'doStuff' | alias }}">