2016-07-30 1 views
1

yii2のルートディレクトリに.htaccessファイルを置いてfrontend/webを隠し、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

を参照してください。見つかったストレージディレクトリを作成する –

関連する問題