Вот моя структура каталогов
localhost or livehost -app -bootstrap -public -vendor -code -demo
Вот мой .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] RewriteRule ^(.*)$ public/blog/$1 [L] </IfModule>
Вот мой маршрут
Route::get('/', 'Sys@Home'); Route::get('blog', 'Sys@Blog'); Route::get('contact', 'Sys@Contact');
Чтобы получить доступ к ним, я не хочу вводить свой url как
localhost/public/ localhost/public/blog localhost/public/contact
Вместо этого достаточно ввести
localhost localhost/blog localhost/contact
В то же время он не должен применяться к этим папкам /code
и /demo
для доступа к каталогу.
Поэтому я должен написать исключение из этих каталогов из этого вопроса. Исключение htaccess для определенных папок
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule %{THE_REQUEST} /code RewriteRule %{THE_REQUEST} /temp RewriteRule ^ - [L] RewriteRule ^(.*)$ public/$1 [L] RewriteRule ^(.*)$ public/blog/$1 [L] </IfModule>
После применения этого я могу получить доступ к папке localhost/code
и
localhost/demo
Но я не могу получить доступ к папке, как
localhost localhost/blog localhost/contact
Как я могу сделать это возможным?
Можешь попробовать:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} /(code|tmp) [NC] RewriteRule ^ - [L] RewriteRule ^((?!public/).*)$ public/$1 [L,NC] </IfModule>