我正在使用 Python、Flask 和 Apache,但我被困住了。当我尝试使用 www 访问我的网站时,它工作正常。但是,当我删除 www 时,该网站显示“/ 的索引”,接下来是一个空的文件列表。我已经阅读了所有可能的解决方案,在我的情况下没有任何效果。我正在使用 WSGI,这意味着 DocumentRoot 无关紧要,因为我使用的是 WSGIScriptAlias 变量。我按照指示使用 ServerAlias - 没有帮助。我在我的 dns 选项中设置了 2 条单独的 A 记录,它们都指向同一个 ip。当我用 www 和不带 www ping 网站时,显示相同的 IP 地址
<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
WSGIScriptAlias / /var/www/mysite/mysite.wsgi
<Directory /var/www/mysite/mysite/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/mysite/mysite/app/static
<Directory /var/www/mysite/mysite/app/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
...
</VirtualHost>
有任何想法吗?
这是“apachectl -S”命令的输出:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server mysite.com (/etc/apache2/sites-enabled /000-default.conf:1)
port 80 namevhost mysite.com (/etc/apache2/sites-enabled /000-default.conf:1)
port 80 namevhost mysite.com (/etc/apache2/sites-enabled /mysite.conf:1)
alias www.mysite.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33