简体   繁体   English

Laravel使用通配符子域将www视为默认值

[英]Laravel treat www as default with wildcard subdomain

I just setup my sub-domain routing on my server, added the A record to Route53. 我只是在服务器上设置了子域路由,将A记录添加到Route53。

*.mysitename.com. A 54.123.123.123

My conf file 我的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>

My question is how can I get mysitename.com to work, and www.mysitename.com to be treated as mysitename.com rather than processed by my sub-domain route? 我的问题是如何使mysitename.com正常工作,如何将www.mysitename.com视为mysitename.com,而不是由我的子域路由处理?

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

When I goto www.mysite.com it is passing www as a parameter in the ObjectController 当我转到www.mysite.com时,它会将www作为参数传递给ObjectController

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

You could strip out the www in apache using: 您可以使用以下命令删除apache中的www:

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM