【发布时间】:2018-03-02 07:40:32
【问题描述】:
我正在使用 Webfaction 来托管我的 Django Web 应用程序之一。我一直在使用符号链接应用程序来提供我的媒体。最近我一直在尝试设置一个 .htaccess 文件来为我的所有图像设置过期标题,但是 .htaccess 文件没有工作。我联系了 Webfaction 支持,他们的回复是这样的:
“您没有在文件中看到过期标签,因为您没有从 apache 堆栈中提供诸如 feature_homemobile_fieldagent.jpg 之类的文件。/home/doc4design/webapps/django_2016/doc4_2016/media 下的所有内容/ 目录在您的符号链接应用程序https://my.webfaction.com/applications/971721/edit-application 之后由我们的前端 nginx 服务器提供服务。由于我们的 nginx 服务器不知道您的设置,因此未设置此类标签。 如果您想这样做,您将需要删除符号链接应用程序并使用正确的别名和位置节更新您的 httpd.conf。或者构建和配置您自己的 nginx 服务器,您可以完全控制其配置。”
我尝试向我的 Apache2 配置文件添加新别名,但出现此错误
Invalid command 'Allow', perhaps misspelled or defined by a module not included in the server configuration
更新
我发现在 Apache2.4 上意味着它不再是“全部允许”,现在是“要求全部授予”。我重置了我的服务器,一切顺利,我通过 Webfaction 暂时从我的网站上删除了我的 Symlink 应用程序。所有图片都停止提供服务,也不再出现在我的网站上。我等了 10 分钟,但没有任何改变。我是否缺少一些额外的步骤?
Apache2 httpd.conf
ServerRoot "/home/doc4design/webapps/django_2016/apache2"
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule headers_module modules/mod_headers.so
LoadModule expires_module modules/mod_expires.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
#LoadModule pagespeed_module modules/mod_pagespeed_ap24.so
<Directory /home/doc4design/webapps/django_2016/doc4_2016>
AllowOverride All
</Directory>
Alias /media/ /home/doc4design/webapps/django_2016/doc4_2016/media
<Directory /home/doc4design/webapps/django_2016/doc4_2016/media>
Allow from all
</Directory>
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/doc4design/logs/user/access_django_2016.log combined
ErrorLog /home/doc4design/logs/user/error_django_2016.log
Listen 30651
KeepAlive Off
SetEnvIf X-Forwarded-SSL on HTTPS=1
ServerLimit 1
StartServers 1
MaxRequestWorkers 5
MinSpareThreads 1
MaxSpareThreads 3
ThreadsPerChild 5
WSGIDaemonProcess django_2016 processes=2 threads=12 maximum-requests=100 python-path=/home/doc4design/webapps/django_2016:/home/doc4design/webapps/django_2016/doc4_2016:/home/doc4design/webapps/django_2$
WSGIProcessGroup django_2016
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/doc4design/webapps/django_2016/doc4_2016/webapp/wsgi.py
【问题讨论】:
标签: apache2 alias media httpd.conf