2016-07-30 103 views
1

我在我的yii2根目錄中有.htaccess文件來隱藏前端/網頁,並且我正在上傳yii2-app/uploads中的圖像。 問題是我無法訪問後端圖像RewriteRule ^(.*)$ frontend/web/$1 [L],如果我刪除這一行然後圖像可訪問,但前端/網頁出現在url中,我該如何解決這個問題?我如何創建訪問圖像的特殊規則?Yii2 .htaccess阻止訪問後端圖像

在網格視圖:

[ 
'label' => 'Image', 
'attribute' => 'banner', 
'format' => 'raw', 
'value' => function ($data) { 
     return Html::img(Yii::$app->request->baseUrl.'../../../uploads/'.$data->banner, ['alt'=>$data->title,'width'=>'20','height'=>'30']); 
    } 
], 

的.htaccess:

Options -Indexes 

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    #RewriteCond %{REQUEST_URI} !^public 
    RewriteRule ^(.*)$ frontend/web/$1 [L] 
</IfModule> 

# Deny accessing below extensions 
<Files ~ "(.json|.lock|.git)"> 
Order allow,deny 
Deny from all 
</Files> 

# Deny accessing dot files 
RewriteRule (^\.|/\.) - [F] 

目錄結構:

yii2-app 
    --backend 
    --frontend 
    --uploads 
+0

請參閱我的回答http://stackoverflow.com/questions/38426427/yii2-access-to-higher-level-folder/38428685#38428685 – vishuB

回答

2

我加入這個規則RewriteRule ^(.*)$ frontend/web/$1 [L]前,爲我工作。

RewriteCond %{REQUEST_URI} /(uploads) 
RewriteRule ^uploads/(.*)$ uploads/$1 [L] 
+0

也是一個高級的配置,可以通過存儲代替上傳到使存儲目錄被找到 –