【问题标题】:Flight PHP Routing from Subdirectory从子目录飞行 PHP 路由
【发布时间】:2014-01-20 07:54:39
【问题描述】:

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

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

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

有没有办法在一个目录中单独运行 FlightPHP,而网站的其余部分运行常规 PHP?

编辑

我尝试简单地将 .htaccess 文件放入子目录。这具有导致路由仍然像来自根一样的特殊效果(例如 /thing/otherthing/ 当它应该是 /otherdirectory/thing/otherthing/ 时),同时导致 404 回调不起作用。不是我想要的。

编辑 2

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

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

【问题讨论】:

  • 只需将 .htaccess 文件添加到您正在运行框架的目录中 - 您尝试过吗?
  • 能否请您发布您的.htaccess 文件的内容?此类信息对于找出问题所在非常有帮助。

标签: php .htaccess url-rewriting url-routing flightphp


【解决方案1】:

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

RewriteBase /flight/

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

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

【讨论】:

    【解决方案2】:

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

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

    您是否检查了更高级别的 .htaccess 的内容,也许有什么东西阻止了您

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 2020-01-10
      • 2017-10-10
      • 2016-04-16
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      相关资源
      最近更新 更多