我想创建一个前端控制器来处理对我的 PHP 站点的所有请求。 所以我在我的站点根目录中创建了一个routes.php:http://localhost:81/site/
我的网站托管在本地计算机的 apache 上,/site 是 apache 中配置的别名
httpd.conf
。
并使用 FallbackResource 指令配置 .htaccess:
FallbackResource /routes.php
但是我访问的任何 URL 都会收到 404 错误。
所以我改为:(我在Windows上)
FallbackResource \routes.php
当我访问
http://localhost:81/site/mycontroller
时它可以工作,它调用routes.php,但是当我尝试调用http://localhost:81/site/mycontroller/myaction
时,我收到错误。探索日志文件,我发现apache正在/mycontroller目录中搜索routes.php(该目录不存在)
如何配置 FallbackResource,无论使用的 URL 结构如何,都会调用站点根目录中的routes.php?
文档说,
在子 URI 中,例如
此子 URI 必须作为本地 url 提供:[...]http://example.com/blog/
然后给出
FallbackResource /blog/index.php
作为本例中的示例。
因此,对于您的情况,您需要
/site/routes.php
。