以下基于 Apache 2.2、Windows 和 mod_wsgi 3.3 的 WSGI 设置有什么问题?问题是,即使访问没有关联应用程序的 URL,客户端也会获得 OK 响应状态(例如http://wsgi/any),而不是 404 状态代码。
WSGI 应用程序脚本文件:
# C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts\app.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'App WSGI: Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
虚拟主机:
<VirtualHost *:80>
ServerName wsgi
WSGIScriptAlias / "C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts\app.wsgi"
<Directory "C:\Programmi\Apache Software Foundation\Apache2.2\wsgi\scripts">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
用于名称解析的主机文件:
127.0.0.1 wsgi
非常感谢。
答案1
使用:
WSGIScriptAlias / ...
表示将“/”下的所有 URL 请求都发送给 WSGI 应用程序。换句话说,每个发送到您网站的请求都将由 WSGI 应用程序处理。
所以,没有什么问题,因为这是你告诉它要做的。