Можно ли установить просвет или laravel только в подкаталог
У меня есть существующий сайт \ приложение. Я хочу создать JSON API, используя люмен в подкаталоге - что-то вроде /api/
,
Как установить lumen или laravel только в подкаталоге веб-сайта?
2 ответа
Решение
Попробуйте использовать Alias в вашем Apache Conf (VirtualHost):
Alias /api /path/to/api/public
<Directory /path/to/api/public>
Allowoverride All
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
Кроме того, поскольку Lumen получает неправильный путь при использовании из подкаталога, вам нужно изменить следующую строку в Lumens public/index.php:
from $app->run();
в $app->run($app->make('request'));
Перенаправить запрос с помощью.htaccess (если вы не можете изменить apache conf):
RewriteRule ^api/(.*)$ /api/public/$1 [L]
используйте группу с префиксом в вашем app/Http/router.php, чтобы удалить подпапку:
$app->group(['prefix' => 'api'], function () use ($app) {
$app->get('/', function () use ($app) {
return $app->version();
});
});