Laravel将www视为默认的通配符子域



我刚刚在我的服务器上设置了我的子域路由,将 A 记录添加到 Route53。

*.mysitename.com. A 54.123.123.123

我的 conf 文件

<VirtualHost *:80>
    DocumentRoot "/var/www/html/mysitename/public"
    ServerName mysitename.com
    ServerAlias mysitename.com *.mysitename.com
    <Directory "/var/www/html/mysitename/public">
        Options +FollowSymLinks -MultiViews
        AllowOverride all
    </Directory>
</VirtualHost>

我的问题是,我怎样才能让 mysitename.com 工作,www.mysitename.com 被视为 mysitename.com,而不是由我的子域路由处理?

Route::group(array('domain' => '{name}.mysitename.com'), function() {
    Route::get('/', 'ObjectsController@showObject');
});

当我转到 www.mysite.com 时,它将 www 作为对象控制器中的参数传递

public function showObject ($name) {
    return Object::whereName($name)->get();
}

您可以使用以下命令在 apache 中去除 www:

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

我会创建仅与 www.mysitename.com 匹配的新路由,并将其放在与任何子域匹配的路由组之前。

最新更新