您好,我在使用 Virtualhosts 和 ModWSGI 配置 apache 时遇到问题,我想在访问域时运行 Python 脚本,但它一直向我显示文件夹的内容而不是执行脚本。
以下是站点启用的配置:
#
*.karinapp.com (/etc/httpd/sites-available/karinapp.com)
# 服务器管理[电子邮件保护] 服务器名称 karinapp.com 服务器别名 *.karinapp.com
#Indexes + Directory Root
DocumentRoot /var/www/vhosts/karinapp.com/
<Directory "/var/www/vhosts/karinapp.com/Suite">
AddHandler wsgi-script .wsgi
AllowOverride All
Options +Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
</Directory>
#LOG FILES
ErrorLog /var/www/vhosts/karinapp.com/logs/error.log
CustomLog /var/www/vhosts/karinapp.com/logs/access.log combined
这是 Suite 文件夹中 .htaccess 的代码
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
allow from all
DirectoryIndex /Suite/Gate.py
答案1
您需要检查一些事情... 您的 httpd.confLoadModule
应该启用执行您的 cgi 文件。(wsgi 只是一个 cgi 文件,一个脚本)
更改目录选项
<Directory "/var/www/vhosts/karinapp.com/Suite">
AddHandler wsgi-script .wsgi
AllowOverride All
Options +ExecCGI FollowSymLinks +Indexes
Order allow,deny
Allow from all</Directory>
因为它以从左到右的方式执行,所以它就像一个或语句。希望这有帮助。