我更改了前端/网站和后端/网站网址,并且正在将文件上传到应用程序根目录下的uploads文件夹中。 “ / yii2app / uploads”,但无法显示图片。
使用htaccess更改前端和后端URL。所有链接都工作正常。另外,我正在将文件上传到根文件夹中。从后端应用程序,我将图像上传到根文件夹中,这很好。但是我无法查看图像。
我的根文件夹HTACCESS
Options -Indexes
IndexIgnore */*
#follow symbolic links
Options FollowSymlinks
RewriteEngine on
#without trailing slash
RewriteRule ^admin(/.+)?$ backend/web/$1 [L,PT]
#with trailing slash
RewriteRule ^admin/(.+)?$ backend/web/$1 [L,PT]
RewriteRule ^(.+)?$ frontend/web/$1
前端HTACCESS
RewriteEngine on
RewriteBase /yii2app
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php/controller/action
RewriteRule (?!web\/) index.php/$1
后端HTACCESS
RewriteEngine on
RewriteBase /yii2app/admin
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
在config / main.php中,都添加了起始网址和基本网址,
/yii2app - frontend
/yii2app/admin - backend
此外,我在common / config / bootstrap.php中创建了别名'@root'
Yii::setAlias('@root', realpath(dirname(__FILE__).'/../../'));
问题是当我尝试加载img时,它没有显示。我尝试this solution用于在根文件夹中上传图像。 请帮忙。
更新
下面的代码我曾经在gridview(从后端)中查看图像,但是没有用
[
'label'=>'Event Image',
'attribute'=>'image_url',
'format'=>'html',
'value'=>function($model){
return Html::img(Yii::getAlias('@root')."/uploads/events/".$model->id."/".$model->image_url);
}
],
还尝试从后端应用程序
[
'label'=>'Event Image',
'attribute'=>'image_url',
'format'=>'html',
'value'=>function($model){
return Html::img("../../uploads/events/".$model->id."/".$model->image_url, ['width' => '170px']);
}
],
我犯错了吗?
答案 0 :(得分:0)
您没有为根目录设置别名,但应使用Web目录中的符号链接并查看图像。
在web
和frontend
的{{1}}目录内创建符号链接。
backend
ln -s /home/username/html/yii2app/uploads /home/username/html/yii2app/frontend/web
然后在前端或后端按照如下所示使用它们
ln -s /home/username/html/yii2app/uploads /home/username/html/yii2app/backend/web
对于在Widows10 OS上使用localhost的用户,要利用符号链接,可以在命令提示符下使用<img src="/uploads/filename.jpg" />
实用程序,该实用程序将链接名称作为第一个参数,将源文件夹作为第二个
mklink
注意:mklink /D c:\xampp\htdocs\yii2app\frontend\web\uploads c:\xampp\htdocs\yii2app\uploads
用于创建指向目录的符号链接