【问题标题】:laravel 5.5 - wildcard subdomain not workinglaravel 5.5 - 通配符子域不起作用
【发布时间】:2018-02-12 01:14:17
【问题描述】:

我将我的 laravel 应用程序上传到 Apache 共享托管服务器,一切都设置好了。我设置了 CNAME 记录 * 子域并将其指向 public_html/。然后我在我的routes/web.php 中设置此代码:

Route::domain('{subdomain}.example.com')->group(function () {
    Route::get('/', function ($subdomain) {
        Route::get('/profiles/sub/{subdomain}', 'ProfilesController@subDomain');
    });
});

其中ProfilesController@subDomain 是处理来自URL 的参数subdomain 的函数。但结果一直把我送到主着陆页。我注意到有这个错误:

Uncaught (in promise) DOMException: Only secure origins are allowed

我不确定这是否与任何部分有关。

我该如何解决这个问题?

更新01

根据 Ben 的评论,我 force SSL 和下面的 .htaccess

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On
    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]


    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

<ifmodule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</ifmodule>

它将强制 httphttps。但是每当我测试像xxx.example.com这样的子域时,Chrome都会给出一个隐私错误消息,然后将其改回:

和新的错误信息:

获取脚本时发生 SSL 证书错误。

提醒一下,我正在尝试解决通配符子域问题。如果这一切SSL不是真正的原因,我们可以忽略它。

【问题讨论】:

  • 你的服务器有SSL证书吗?
  • 是的。我可以使用http:// 和“https://”。两者都将指向同一个页面。
  • 所以您的证书有效?也许你应该强制使用 ssl...
  • @BenDubuisson 你是什么意思?
  • 是的,实际上我认为您的 JS 错误与它没有任何关系...

标签: php apache laravel-5


【解决方案1】:

我觉得应该是的

Route::domain('{subdomain}.example.com')->group(function () { 
    Route::get('/', 'ProfilesController@subDomain'); 
});

ProfilesController:

public function subdomain($subdomain) {
//do something
}

正如所讨论的,路由的顺序很重要,因此如果您在此逻辑之前为'/' 声明了一个路由,它总是会首先命中它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-09
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2018-06-18
    • 2018-07-02
    相关资源
    最近更新 更多