Django静态文件托管Apache

the*_*tro 20 apache django static alias

我正在尝试移动一个Django站点,我一直在开发服务器阶段,并进入一个真正的托管环境.目前,我只是在我的个人机器上托管.我已经安装了Apache和mod-wsgi,但是我遇到了获取静态文件的问题.我很确定它与Apache有关.这是我的网站配置文件:

<VirtualHost *:80>

    ServerName localhost
    ServerAlias daifotis.dyndns.org
    ServerAdmin webmaster@daifotis.com

    DocumentRoot /home/daifotis/code/

    Alias /media/ /home/daifotis/code/feris/sitestatic
    Alias /static/ /home/daifotis/code/feris/sitestatic
    #AliasMatch ^/([^/]*\.css) /home/daifotis/code/feris/sitestatic/$1

    <Directory /home/daifotis/code/feris/sitestatic>
        Order allow,deny
        Allow from all
    </Directory>

    <Directory /home/daifotis/code/feris>
        Order allow,deny
        Allow from all
    </Directory>

    <Directory /home/daifotis/code/feris/jobsite>
        Order allow,deny
        Allow from all
    </Directory>

    WSGIDaemonProcess feris processes=2 threads=15 display-name=%{GROUP}
    WSGIProcessGroup feris

    WSGIScriptAlias / /home/daifotis/code/feris/apache/django.wsgi

    <Directory /home/daifotis/code/feris/apache>
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我正在尝试从静态的别名目录中托管文件.当我尝试加载网站时,所有内容都出现但没有css.此外,当我点击我的网址www.server.com/static/时,页面会显示目录的正确内容.但我不明白的是,如果我点击一个链接来查看文件,它会说URL不存在.我已经坚持了一段时间,所以任何帮助都会非常感激.

the*_*tro 43

弄清楚了.我在这行上有一个apache配置错误:

Alias /static/ /home/daifotis/code/feris/sitestatic
Run Code Online (Sandbox Code Playgroud)

我应该写没有尾随斜杠的静态.使用尾部斜杠Apache不会扩展URL路径.

Alias /static /home/daifotis/code/feris/sitestatic
Run Code Online (Sandbox Code Playgroud)

  • 天哪,谢谢发帖!我花了好几个小时跟踪这个并且即将放弃. (8认同)
  • 与我相同......他们真的应该在官方文档中改变这一点 (2认同)