2016-07-30 25 views
1

Ich habe .htaccess Datei in meinem yii2-Stammverzeichnis, um Frontend/Web zu verstecken und ich lade Bilder in yii2-app/uploads hoch. Problem ist, ich kann nicht auf Bilder im Backend aufgrund dieser Linie RewriteRule ^(.*)$ frontend/web/$1 [L] zugreifen, wenn ich diese Zeile löschen dann Bilder sind zugänglich, aber Frontend/Web erscheint in URL, Wie kann ich das lösen? Wie kann ich eine spezielle Regel für Zugriffsbilder erstellen?Yii2 .htaccess verhindert den Zugriff auf Bilder im Backend

in der Tabellenansicht:

[ 
'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] 

Verzeichnisstruktur:

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

Siehe meine Antwort http://stackoverflow.com/questions/38426427/yii2-access-to-higher-level-folder/38428685#38428685 – vishuB

Antwort

2

Ich habe diese Regel vor RewriteRule ^(.*)$ frontend/web/$1 [L] hinzugefügt und für mich arbeiten.

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

auch in einer erweiterten Konfiguration können Sie Uploads ersetzen durch Speicherung Machen Sie das Speicherverzeichnis, das gefunden werden soll –