Как развернуть статическое приложение поддомена + подстановочный символ поддомена на живом сервере? - PullRequest
2 голосов
/ 24 сентября 2019

В моем приложении проекта laravel у меня есть следующие маршруты.app.client.net для регистрации пользователя и поддомена с подстановочными знаками *.client.net для зарегистрированных пользователей.Route.php

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::group(['domain' => 'app.client.net'], function(){
    Route::get('/', function () {
        if (auth()->check()) {
            return redirect('http://'.session('subdomain').'.client.net/home');
        }       
        return view('welcome');
    })->name('homepage');   
    Route::get('/register', 'Auth\RegisterController@showRegistrationForm')->name('register');
    Route::post('/register', 'Auth\RegisterController@register');
    Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
    Route::post('/login', 'Auth\LoginController@login')->name('login');
    Route::get('/setupCompany', 'CompanyController@setupCompanyForm')->name('setupCompanyForm');
    Route::post('/setupCompany', 'CompanyController@setupCompany')->name('setupCompany');
    Route::get('/register/verify', 'CompanyController@verfiy')->name('registerVerify');

});

Route::group(['domain'=> '{subdomain}.client.net', 'middleware' => 'checkSubdomain'],function () {
    Route::get('/', 'Auth\CompanyLoginController@showLoginForm')->name('companyLogin');
    Route::post('/', 'Auth\CompanyLoginController@login')->name('companyLogin');

    Route::group(['middleware' => 'customAuth'],function(){         
        Route::get('/home', 'HomeController@index')->name('home');
        Route::post('/logout', 'Auth\LoginController@logout')->name('logout');
        Route::post('/inviteClient', 'HomeController@inviteClient'); //ajax req
        Route::get('/profile', ['as' => 'profile.edit', 'uses' => 'ProfileController@edit']);
        Route::put('profile', ['as' => 'profile.update', 'uses' => 'ProfileController@update']);
        Route::put('profile/password', ['as' => 'profile.password', 'uses' => 'ProfileController@password']);

        Route::get('/getClients', 'HomeController@clients'); //ajax req

    });
});


это хорошо работает на локальном хосте, но когда я развернул его на работающем сервере, сделав субдомен app.client.net на сервере и развернув там проект, тогда субдомен подстановки {subdomain}.client.net не работает.когда я перехожу на app.client.net, он работает правильно, но когда я перехожу к поддомену с подстановочными символами, например, abc.client.net, выдается следующая ошибка.

Not Found

The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

как настроить это так, чтобы статический поддомен и подстановочный поддомен могли работать насерверный поддомен.Или я должен создать два субдомена на сервере app.client.net и *.client.net отдельно, один для статического субдомена, а другой для подстановочного субдомена и развертывает статические маршруты субдоменов на app.client.net серверном субдомене и маршруты подстановочных субдоменов на *.client.net сервереподстановочный субдомен отдельно?Заранее спасибо.

...