У меня есть файл .htaccess на общем хостинге:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Работает нормально для всех маршрутов, кроме cms. Мой файл маршрута web.php:
Route::get('/', 'HomeController@index')->name('home');
Route::get('/home', 'HomeController@index');
Route::get('/menu', 'HomeController@menu')->name('menu');
Route::get('/reservation', 'HomeController@reservation')->name('reservation');
Route::get('/gallery', 'HomeController@gallery')->name('gallery');
Route::get('/contact', 'HomeController@contact')->name('contact');
Route::get('/about', 'HomeController@about')->name('about');
Auth::routes();
Route::prefix('admin')->name('admin.')->namespace('Admin')->group(function () {
Auth::routes();
Route::middleware('auth:admin')->group(function () {
Route::get('/', 'AdminController@index')->name('home');
Route::match(array('GET', 'POST'), '/gallery/{gallery?}/{action?}', 'AdminController@gallery')->name('gallery');
Route::match(array('GET', 'POST'), '/{controller}/{action?}/{id?}', 'AdminController@crud')->where('id', '[0-9]+')->name('crud');
});
});
Этохорошо работает на моем локальном сервере, но любой URL с / admin автоматически проходит через / public папку на моем веб-сервере.
Мой вопрос: как предотвратить это, используя .htaccess?
Редактировать: это происходит только при перенаправлении от авторизации.например.если / admin, то он перенаправляет для входа в систему как / public / admin ALso, я только что узнал, что я не могу POST ничего из cms, это выдает ошибку 403.На localhost работает нормально.