PHP Silex 路线基地 url
PHP Silex routes base url
我的项目只是本地服务器子文件夹中的一个测试 API 项目。所以我的 url 将是 http://localhost/test-project-x/api/
。里面有个index.php.
根路由可以通过上面的URL获得。但是我一到 http://localhost/test-project-x/api/test
就收到 404。要让它工作,我需要将 PHP 路由从 $app->get('/test' ...
更改为 $app->get('/test-project-x/api/test' ...
我希望它能与 /test
一起使用。但是对于我的生活,我似乎无法弄清楚/记得如何......
test-project-x/api/index.php
:
<?php
require_once __DIR__.'/../../vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/test', function() use($app) {
return 'This would be the test route.';
});
$app->get('/', function() use($app) {
return "This would be the root.";
});
$app->run();
test-project-x/api/.htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [QSA,L]
</IfModule>
只需将 RewriteBase 与正确的文件夹一起使用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-project-x/api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
好了,您的路线现在位于 /test-project-x/api 文件夹中。
我的项目只是本地服务器子文件夹中的一个测试 API 项目。所以我的 url 将是 http://localhost/test-project-x/api/
。里面有个index.php.
根路由可以通过上面的URL获得。但是我一到 http://localhost/test-project-x/api/test
就收到 404。要让它工作,我需要将 PHP 路由从 $app->get('/test' ...
更改为 $app->get('/test-project-x/api/test' ...
我希望它能与 /test
一起使用。但是对于我的生活,我似乎无法弄清楚/记得如何......
test-project-x/api/index.php
:
<?php
require_once __DIR__.'/../../vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/test', function() use($app) {
return 'This would be the test route.';
});
$app->get('/', function() use($app) {
return "This would be the root.";
});
$app->run();
test-project-x/api/.htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [QSA,L]
</IfModule>
只需将 RewriteBase 与正确的文件夹一起使用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-project-x/api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
好了,您的路线现在位于 /test-project-x/api 文件夹中。