1

我没有任何 PHP 框架经验,只是对它们的使用有一些非常普遍的问题:特别是 URL 路由。

我正在使用微框架,Flight。

简单的路由示例:

<?php

    // Flight Framework
    require "flight/Flight.php";

    Flight::route('/', function(){
        echo 'hello world!';
    });

    Flight::start();

?>

当我访问此页面 (/) 时,我收到“hello world”消息。很好,工作正常。

我的问题是,路由是否用于不存在的 URL(例如 /categories)?那么,当用户访问该页面时,会调用该函数吗?

所以如果我把路由改成'/categories',是不是应该在访问/categories 时显示这个'hello world' 功能?

4

2 回答 2

3

为了实现您期望的工作,您需要启用 URL 重写。如果您使用 apache 作为 Web 服务器 usingMod rewrite使您能够做到这一点。当 URL 被重写时,Web 服务器将所有不存在的路径 URL 路由到index.php并让 index.php 处理请求。.htaccess以下是放置在文件中的此类重写代码的示例。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
于 2013-06-30T00:17:14.027 回答
0

使用 Flight 时,使用 PHP 的内部 Web 服务器要容易得多。至少出于测试目的。

php -S <url>:<port>
于 2015-05-18T12:11:48.927 回答