【问题标题】:Which folder to add a public accessible file in yii-framework?在 yii-framework 中添加公共可访问文件的文件夹是什么?
【发布时间】:2020-04-26 01:17:28
【问题描述】:

我需要在 yii 安装中上传一个公共可访问的文件,我可以从 url 访问它。这是域验证文件。我已将其上传到 /frontend/web 文件夹,但无法通过 url mydomain.com/file.txt 直接访问它

如下所述,.htaccess 文件可能会阻止该文件被访问。谁能告诉我如何在 .htaccess 文件中编写规则以允许它?

【问题讨论】:

  • 这取决于您的 Web 服务器的配置。默认情况下,高级应用程序期望前端域指向/frontend/web 文件夹,您应该将域验证文件放在那里。后端域应指向/backend/web 文件夹。在 yii 基本应用程序模板中,它应该在 /web 文件夹中。文件无法访问也可能是您的.htaccess 文件中的配置造成的。
  • 是的,您可能是对的,.htaccess 正在阻止它。您知道如何通过在 .htaccess 文件中添加规则来允许它吗?
  • @GeorgeT 这取决于您当前的 .htaccess 中的内容 - 标准配置不应阻止此类文件。

标签: yii yii2 yii2-advanced-app yii2-basic-app yii-components


【解决方案1】:

这可能会有所帮助

<Files *.*>
Order Deny,Allow
Deny from all
</Files>
 
<Files ~ "^index\.php|css|js|.*\.png|.*\.jpg|.*\.gif|.*\.jpeg|.*\.ttf">
  Allow from all
</Files>

【讨论】:

    【解决方案2】:

    如果出现以下错误。

    您无权访问此服务器上的 /frontend/web/。

    然后,在您的.htaccess 中添加以下规则

    <Directory "/path/to/frontend/web/">
       Options +Indexes
       Allow from all
    </Directory>
    

    这里是关于Apache .htaccess permissions的文档

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      相关资源
      最近更新 更多