如何让 FallbackResource 始终在根目录下查找文件

问题描述 投票:0回答:1

我想创建一个前端控制器来处理对我的 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?

php apache front-controller
1个回答
0
投票

文档说,

在子 URI 中,例如

http://example.com/blog/
此子 URI 必须作为本地 url 提供:[...]

然后给出

FallbackResource /blog/index.php
作为本例中的示例。

因此,对于您的情况,您需要

/site/routes.php

© www.soinside.com 2019 - 2024. All rights reserved.