【发布时间】:2018-09-10 22:34:24
【问题描述】:
我创建了一个 Laravel 应用程序,它既是 Web 应用程序,又为 android 和 iOS 平台提供 REST API。
我有两个路由文件,一个是 api.php 另一个是 web.php 和 routes\api.php 路由如下:
routes/api.php
Route::group([
'domain'=>'api.example.com',
function(){
// Some routes ....
}
);
和配置的nginx服务块可以在这里看到
server {
listen 80;
listen [::]:80;
root /var/www/laravel/public;
index index.php;
server_name api.example.com;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
我可以使用http://example.com 访问我的应用程序,使用http://example.com 访问我的应用程序,http://api.example.com/api/cities 访问 REST API。但是子域 URL 包含 api 作为前缀,如下所示。
http://api.example.com/api/cities
但我想我的子域像这样http://api.example.com/cities (我想remove 来自子域 URL 的 api 前缀)。
在RouteServiceProvide.php 中为 api 路由删除前缀 api 是否正确?
或者他们有什么正确的方法来实现这个吗?
环境细节 Laravel 5.5 (LTS) PHP 7.0
【问题讨论】:
标签: laravel laravel-5.5 laravel-routing