这是我的目录结构
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
同时,它不应该适用于文件夹/代码和/ 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
我怎样才能使它成为可能?
最佳答案 你可以试试:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /(code|tmp) [NC]
RewriteRule ^ - [L]
RewriteRule ^((?!public/).*)$public/$1 [L,NC]
</IfModule>