【问题标题】:laravel api subdomain mappinglaravel api 子域映射
【发布时间】: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 托管

标签: php laravel routing laravel-5.3


【解决方案1】:

您需要指定 godaddy 以使任何子域指向同一点的方式读取通配符。这样做你将使用你的 laravel 应用程序管理子域

https://mx.godaddy.com/help/setting-up-wildcard-dns-3301

【讨论】:

  • /etc/hosts 和Apache 虚拟主机的帮助下,我在本地机器上创建了api.example.test。我该如何解决这个问题?
【解决方案2】:
  1. 必须在您的服务器上启用 Mod_rewrite。 Check this post

  2. 检查公用文件夹(您的域指向的)中的 .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不存在,则在公共目录下创建一个文件。

如果这不起作用,请发表评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2021-03-11
    • 2022-01-20
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多