*.karinapp.com (/etc/httpd/sites-available/karinapp.com)

*.karinapp.com (/etc/httpd/sites-available/karinapp.com)

您好,我在使用 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>

因为它以从左到右的方式执行,所以它就像一个或语句。希望这有帮助。

相关内容