我在共享主机中有.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');
});
});
它在我的本地服务器上运行良好,但是,任何带/ admin的网址都会自动通过我的网络服务器中的/ public文件夹。
我的问题是如何使用.htaccess阻止这种情况发生?
编辑:只有在通过身份验证重定向时才会发生。 例如。如果/ admin然后它重定向到登录为/ public / admin 另外,我刚刚发现,我无法从cms发布任何内容,因为它给出了403错误。它在localhost上工作正常。
答案 0 :(得分:1)
您应该在conf中添加以下行,
<Directory /var/www/html/project/public>
AllowOverride All
</Directory>
我希望这会有所帮助