【问题标题】:wsgi_mod dosn't serve admin static fileswsgi mod 不提供管理静态文件
【发布时间】:2016-08-24 18:02:25
【问题描述】:

我知道这个问题的话题很少,但我仍然无法解决它。我有这个结构

/home
  /server
    /server_1
      /static

Static 是由 collectstatic 生成的,我有我所有的静态文件(包括 admin/css)

apach conifg 中静态文件的别名如下:

Alias /static/ /home/server/server_1/static/
<Directory /home/server/server_1/static/>
  Require all granted
</Directory>

当我运行 django 管理页面时,我可以看到登录面板,但没有 css,但是如果我点击“显示页面源”,我可以看到

<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" />

我可以点击,我可以看到整个css代码(没有404错误)那么,服务器可以看到这个文件吗?但它可以使用它还是什么?

当我尝试打开时:

http://www.my.server.com/static/

我明白了

Forbidden

You don't have permission to access /static/ on this server.

我有 STATIC_ROOT 和 STATIC_URL,我可以正确运行 collectstatif,但是服务器在渲染它时出现了一些问题。

编辑

我刚刚安装了 django-rest-framework 和这个服务器以及与 css 相同的情况。 css文件在serveradres.com/static/,我可以通过redirect serveradres.com/static/rest_framework/css/bootstrap.min.css访问它

但是网站仍然在没有这个 css 的情况下呈现页面。

更新

Google chrome 检查员说:

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

【问题讨论】:

  • 您使用的是哪个版本的 Apache 和 mod_wsgi?这是您正在使用的 Apache 2.4+ 声明。如果您使用的是早期版本,则语法会有所不同。
  • 另外,我不确定是不是这样,但请尝试在您的 Directory 指令中丢失尾部斜杠:&lt;Directory /home/server/server_1/static/&gt; 应该是 &lt;Directory /home/server/server_1/static&gt;
  • 我试过没有这个斜线 - 同样的错误。我有 apache 3.4 和 4.3 wsgi
  • 3.4 是你的 Python 版本;你的 Apache 版本呢? apachectl -V
  • apache 2.4 错过了密钥,抱歉。 Python 是 3.5

标签: django mod-wsgi


【解决方案1】:

运行 Apache 的用户无法看到主目录中的权限,而权限通常由 Linux 系统在主​​目录上设置。建议您将应用程序代码从主目录移到 Apache 用户可以看到的位置。

【讨论】:

  • 不能设置权限吗?那么为什么我可以通过重定向看到 css cod 呢?我可以通过浏览器访问此文件。
  • 不知道“无法为此设置权限”是什么意思。我从来没有说过要更改任何东西的权限。如果您的/home/server 的主目录已经将其权限更改为o+rx 以便Apache 可以看到其中的内容,那么您在顶级目录中被禁止的原因是因为Apache 默认禁用目录浏览。您必须启用它,但不推荐。见Options Indexeshttpd.apache.org/docs/2.4/mod/core.html#options
  • 好的,我不想启用它。但这是一个次要的“问题”,我仍然不明白为什么我的网站在没有 css 的情况下呈现,但我可以通过浏览器访问它们。请查看编辑。
  • 您是否检查过返回的 HTML 以确保它返回的样式表等的正确 URL 路径。
【解决方案2】:

我解决了这个问题。我知道 - 这很奇怪,但它是由 google chrom 中的广告屏蔽引起的。当我关闭它时,它就可以工作。

【讨论】:

    猜你喜欢
    • 2014-07-06
    • 2018-08-26
    • 2012-03-19
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2017-07-18
    • 2011-10-09
    • 1970-01-01
    相关资源
    最近更新 更多