2017-08-11 15:22:26 3807次浏览 6条回答 0 悬赏 20 金钱

项目基于Yii2高级版,因此前后台分离各自绑定一个域名。

需求:
后台和前台都可以发布帖子,前台显示帖子内容,后台可以管理帖子。

遇到的问题:
后台编辑器上传图片上传到了backend/web目录下,前台发帖编辑器上传图片上传到了frontend/web目录下。修改配置又遇到跨域问题。

希望实现的效果:
无乱前后台,甚至未来增加其他应用端,都统一上传图片到frontend/web下。如果可以上传到额外的目录下,比如新建一个目录,绑定一个域名,用于存放所有上传的图片,那将是更加极好的。

  • 回答于 2017-08-11 15:32 举报

    可以上传到额外的目录下的,然后用单独的域名去访问文件
    上传的时候只会读取对应的目录,不存在跨域
    所以设置上传目录的时候设为相对路径就好

    1 条回复
    回复于 2017-08-11 16:10 回复

    前台:frontend.xxx.cn 后台:backend.xxx.cn 静态资源:static.xxx.cn。
    前后台都上传到静态资源域名下,好像就是跨域吧。

  • 回答于 2017-08-11 15:36 举报

    更改接受图片上传的后台代码,可以把图片上传到绝对路径下的frontend/web。yii2获得绝对路径:Yii::getAlias("@frontend")

  • 回答于 2017-08-11 15:38 举报

    建议用一个域名管理网站,只需要重写下web服务器的路由规则。

    4 条回复
    回复于 2017-08-11 16:08 回复

    怎么来重写呢?可否提供一个简单的规则demo

    回复于 2017-08-11 19:11 回复

    感觉这样倒不如在frontend/web目录下创建一个admin文件夹,把backend/web目录下的文件复制到admin文件夹下。修改它的index.php中include路径。这样似乎更方便些。

    回复于 2017-08-11 21:00 回复

    赞一个。没发现可以配置基础路径,单域名访问多个应用总是带着长长的路径,于是一直拿双域名访问前后台。看了你给了的例子,完美解决。

    觉得很赞
  • 回答于 2017-08-14 10:05 举报

    建议在根目录下创建一个共享文件夹目录source ,然后分别做link到backend/web/source和forntend/web/source,这样就解决了上传资源共享的问题

  • 回答于 2017-08-15 16:39 举报

    要不就改变图片的上传路径,规划到同一个目录,要不就配个类似七牛,这样就没影响了

  • 回答于 2017-08-16 12:45 举报

    common/config/params.php 里面 配置一个额外的域名

    nginx 设置这个域名到指定的任意目录

    所有需要调用的view文件里 使用这个param 来拼display url

您需要登录后才可以回答。登录 | 立即注册
mydzoo
总监

mydzoo

注册时间:2017-01-05
最后登录:2022-03-29
在线时长:53小时40分
  • 粉丝4
  • 金钱2075
  • 威望10
  • 积分2705

热门问题