1

我正在尝试使用Flight构建 REST 数据服务,因为它似乎很容易理解,但即便如此我也无法让简单的开箱即用演示工作。我在 Windows 2008 R2 上运行,上面有 IIS 7.5、URL Rewrite 和 PHP 5.4。

我已将此.htaccess文件导入 IIS URL 重写模块:

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

IIS 导入它没有任何问题:

IIS 导入它没有任何问题

然后我有这个PHP代码:

<?PHP
require 'flight/Flight.php';

Flight::route("/", function (){
    echo 'Hello World';
});

Flight::route('/blog(/@year(/@month(/@day)))', function($year, $month, $day){
    // This will match the following URLS:
    // /blog/2012/12/10
    // /blog/2012/12
    // /blog/2012
    // /blog
    echo "Blog year=[$year], month=[$month], day=[$day]<br />";
});

Flight::start();
?>

如果我请求http://myserver/blog/2012或者http://myserver/what/ever我总是得到首页文本,“Hello World”。

对我来说,看起来 URL 重写正在工作,因为我至少没有收到 404 错误,但我错过了什么?

4

1 回答 1

0

如果在路由中添加 return true ,它将转到下一个。

Flight::route("/what", function (){
    echo 'Hello World';
    return true;
});

这将转到 /what/ever

于 2015-11-13T20:34:59.397 回答