从子目录飞行PHP路由

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从子目录飞行PHP路由相关的知识,希望对你有一定的参考价值。

所以我使用Flight php微框架( http://flightphp.com/ )进行路由。 我的问题是,如何在子目录中运行路由器? 我的意思是,基本上,在文件夹中运行它“沙盒”。

对于'/'的请求只是拉取常规的index.php文件。 但是对'/ flight / file'的请求会使用Flight加载URL。

我知道你不能只将它转储到服务器上的文件夹中并希望它能够正常工作,因为FlightPHP需要相对于root的URL。

有没有办法运行FlightPHP隔离在一个目录中,其余的网站运行常规PHP?

编辑

我尝试将.htaccess文件放入子目录中。 这具有特殊的效果,使得路线仍然像从根部一样行动(例如/事物/ otherthing /何时应该是/ otherdirectory / thing / otherthing /)同时导致404回调不起作用。 不是我的意图。

编辑2

.htaccess文件的内容,这是Flightphp网站建议的:

RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php [QSA,L]
答案

我知道这是一个古老的问题,但我一直在做类似的事情,只是添加一些东西

RewriteBase /flight/

在飞行目录的.htaccess文件中(在所有规则之前)。 希望这可以帮助其他人寻找同样的事情。 例:

RewriteEngine On
RewriteBase /flight/
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php [QSA,L]
另一答案

很抱歉给你一个不会有太大帮助的答案。 我在子目录上运行Flight(也是沙盒)。 我已经使用子目录中的默认值创建了一个.htaccess,而Flight现在将其作为根目录。

RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php [QSA,L]

你有没有检查过更高级别的.htaccess的内容,也许有些东西会阻止你

以上是关于从子目录飞行PHP路由的主要内容,如果未能解决你的问题,请参考以下文章

使用 php 从子目录中获取 azure blob 文件

从子目录中的 URL 中删除 .php

.htaccess 从子目录重写到根目录

从子文件夹中删除前两个条目,阅读php脚本

从子目录导入文件?

QML 从子目录导入样式文件