Laravel 将 www 视为带有通配符子域的默认值
Laravel treat www as default with wildcard subdomain
我刚刚在我的服务器上设置了我的子域路由,将 A 记录添加到 Route53。
*.mysitename.com. A 54.123.123.123
我的配置文件
<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 作为参数传递给 ObjectController
public function showObject ($name) {
return Object::whereName($name)->get();
}
我会创建仅匹配 www.mysitename.com 的新路由,并将其放在匹配任何子域的路由组之前。
您可以使用以下方法去除 apache 中的 www:
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/ [R=301,L]
我刚刚在我的服务器上设置了我的子域路由,将 A 记录添加到 Route53。
*.mysitename.com. A 54.123.123.123
我的配置文件
<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 作为参数传递给 ObjectController
public function showObject ($name) {
return Object::whereName($name)->get();
}
我会创建仅匹配 www.mysitename.com 的新路由,并将其放在匹配任何子域的路由组之前。
您可以使用以下方法去除 apache 中的 www:
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/ [R=301,L]