【问题标题】:After setting up virtual host in zend framework project image are not visible在zend框架项目图像中设置虚拟主机后不可见
【发布时间】:2023-03-27 18:47:02
【问题描述】:

我的项目结构如下---

  • /

    • 公开

      • .htaccess
      • index.php
      • 模板…………
    • 数据

      • 上传(此应用上传的所有图片)
      • .....................

喜欢这些

在为这个项目设置虚拟主机之前一切正常,但设置后我无法在任何地方看到上传的图像。

我可能会因为以下原因发生

  • 我的虚拟主机指向公共目录,但上传的图片在上传目录下。
  • 我的问题是,如果不将上传目录更改为公共目录,我如何才能显示我的图片

Followin 是我的 .htaccess 文件 ----------

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

在apache文件主机上设置如下---------

<VirtualHost 192.168.0.3:80>
   DocumentRoot "/var/www/toletbd/public"
   ServerName hometolet.local

   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV development

   <Directory "/var/www/toletbd/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>

</VirtualHost>

谢谢 鲁兹迪

【问题讨论】:

    标签: zend-framework .htaccess apache2 virtualhost virtual-hosts


    【解决方案1】:

    要传送存储在 Web 根目录之外的文件夹中的图像,您可以使用 getAction() 方法创建一个 ImageController

    1. 在文件夹中查找图片
    2. 在响应中设置适当的 mime 类型标头
    3. 执行readfile() 来传递内容。

    当然,您需要添加一个将这些图像 url 映射到此控制器/动作的路由。

    @Sahal 的符号链接想法可能更好,因为它不需要另一个完整的调度周期来交付本质上只是静态内容的内容。但是,如果您的主机以某种方式不允许您进行符号链接,那么这可以作为一种解决方法,尽管公认的性能较差。

    【讨论】:

      【解决方案2】:

      在您的公用文件夹中为data 文件夹创建一个符号链接(因为这是您的文档根目录,可供公众访问。

      运行这个命令:

      cd /var/www/toletbd/public ln -nfs /var/www/toletbd/data/images 图片

      确保上面的data/images文件夹可以被“apache”用户访问,否则你会得到一个权限被拒绝的错误。

      现在,您可以像这样使用它:

      <img src="/images...">
      

      【讨论】:

      • 是否有任何不同的方式可以使用一些 apache 配置来访问它。
      • @user802697 我怀疑你可以这样做。但是是的,你可以,这将需要另一个 .php 文件来显示你的图像 - image display
      • @user802697:如果您不希望文件系统上的链接使用 apache 中的 Alias 命令将一些 url 关联到物理目录(可以在 webroot 之外)别名 /myuploaded /var/www/ toletbd/数据/上传
      猜你喜欢
      • 2012-06-30
      • 1970-01-01
      • 2012-11-17
      • 2018-10-16
      • 2013-03-15
      • 1970-01-01
      • 2012-06-16
      • 2012-10-26
      • 2017-10-21
      相关资源
      最近更新 更多