如何在laravel 5

时间:2016-08-20 10:50:14

标签: php laravel subdomain

我在Windows中使用laravel 5.2和XAMPP,我想使用子域而不是子目录,例如,admin.example.com(对于所有管理员用途)而不是example.com/admin。我认为这将是伟大的,因为我可以分离前端和后端到目前为止。

我创建了一个虚拟主机,并在apache中将其命名为“example.com”,我更改了我的主机文件:

127.0.0.1 example.com
127.0.0.1 admin.example.com

在laravel 5.2中的routes.php文件中

Route::get('/', function() {
    return view('welcome');
});

Route::group(['domain' => 'admin.example.com'], function() {
    Route::get('login', 'AdminController@showLoginForm');
)};

但是当我认为它应该是登录表格时,我仍然从laravel获得了“欢迎”视图,尽管我在浏览器中调用了url admin.example.com。

那么有谁能告诉我我做错了什么或对此有任何想法?非常感谢你。

@Mehul Kuriya,这是我的.htaccess,它是安装laravel的原始

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

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}]

1 个答案:

答案 0 :(得分:0)

问题出在路线文件中。考虑到您要使用两个子域,即www(example.com)和admin(admin.example.com)。您需要指定以下路线:

Route::group(['domain' => 'www.example.com'], function() {
        Route::get('/', function() {
        return view('welcome');
    });
)};

Route::group(['domain' => 'admin.example.com'], function() {
    Route::get('login', 'AdminController@showLoginForm');
)};