laravel api 子域映射
Posted
技术标签:
【中文标题】laravel api 子域映射【英文标题】:laravel api subdomain mapping 【发布时间】:2017-04-22 18:17:13 【问题描述】:Route::group(array('domain' => 'api.domain.com'), function()
Route::get('/','TwitterController@index');
Route::get('/gettweets','TwitterController@getTweets');
Route::get('/viewtweets','TwitterController@viewTweets');
Route::get('/viewvideos','TwitterController@viewVideos');
);
这是我的 routes.php
我正在调用这个/gettweets
路由,但它说在服务器上找不到/gettweets
。使用godaddy linux 共享。
我只能打电话给/
请求。
我怎样才能让 laravel 阅读这条路线。
【问题讨论】:
你能判断是 Laravel 返回了错误还是通用的 Apache 错误? apache 正在返回此错误 我需要修改htaccess吗 是的,如果您没有正确的 htaccess,就会发生这种情况。最具体地说,我认为这将是 MultiViews example.com 有 index.html 但 api.example.com 由 laravel 托管 【参考方案1】:您需要指定 godaddy 以使任何子域指向同一点的方式读取通配符。这样做你将使用你的 laravel 应用程序管理子域
https://mx.godaddy.com/help/setting-up-wildcard-dns-3301
【讨论】:
在/etc/hosts
和Apache 虚拟主机的帮助下,我在本地机器上创建了api.example.test
。我该如何解决这个问题?【参考方案2】:
必须在您的服务器上启用 Mod_rewrite。 Check this post
检查公用文件夹(您的域指向的)中的 .htaccess 文件,它应该包含在下面
选项 - 多视图
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %HTTP:Authorization .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
如果.htaccess
不存在,则在公共目录下创建一个文件。
如果这不起作用,请发表评论。
【讨论】:
以上是关于laravel api 子域映射的主要内容,如果未能解决你的问题,请参考以下文章