我正在尝试使用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 导入它没有任何问题:
然后我有这个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 错误,但我错过了什么?