目录结构:
/webroot/api/.htaccess
/webroot/api/web/index.php
的.htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web/index.php [QSA,L]
</IfModule>
/webroot/api/web/index.php
require_once __DIR__ . '/../vendor/autoload.php';
$app = new \Silex\Application();
$app['debug'] = true;
$app->get('/do/stuff', function() use ($app) {
return new \Symfony\Component\HttpFoundation\JsonResponse(array('Test'));
});
$app->run();
当我访问网址http://localhosst/api/do/stuff/时,我收到了一个Silex调试错误No route found for "GET /api/do/stuff"
。当我将路由器指令的第一个参数替换为/api/do/stuff
时,页面正常工作。
为什么要查找包含文件夹/api/
?我不希望必须在每个路由指令前加上/api/
,当它已经在该子目录下时。