这是我的目录结构
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');
要访问这些,我不想输入我的网址
localhost/public/
localhost/public/blog
localhost/public/contact
相反,它足以作为
输入localhost
localhost/blog
localhost/contact
同时,它不应适用于文件夹/code
和/demo
来访问目录。
所以我必须从这个问题.htaccess exception to particular folders
写出这些目录的异常<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
我怎样才能使它成为可能?
答案 0 :(得分:2)
您可以尝试:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /(code|tmp) [NC]
RewriteRule ^ - [L]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
</IfModule>