Silex mod_rewrite指令无法按预期工作?

时间:2016-09-20 19:58:49

标签: php apache .htaccess mod-rewrite silex

目录结构:

/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/,当它已经在该子目录下时。

0 个答案:

没有答案