Ste*_*ulo 1 python apache mod-wsgi web.py
所以我见过的每个web.py教程都包含这一行:
urls = (
'/', 'index',
)
Run Code Online (Sandbox Code Playgroud)
然后,稍后,索引类使用GET函数定义,依此类推.我的问题是,这不起作用.使用上面的代码,我得到404错误.使用以下映射工作:
urls = (
'/.*', 'index',
)
Run Code Online (Sandbox Code Playgroud)
但是,这要赶上,至少在一开始,每一个可能的URL,而我只想域根目录的访问由处理"指数".HALP?
一些基本信息:
Python 2.6,web.py 0.3,带有mod_wsgi的Apache 2.2
不知道还有什么是有用的,所以如果有我可以添加一些重要的事情(Apache的虚拟主机,也许?)请你和我会在这里添加它.
编辑:包括我的Apache VirtualHost配置:
<VirtualHost *:80>
ServerName dd.sp4.us
DocumentRoot /home/steve/www/nov2010/public/
ErrorLog /home/steve/www/nov2010/log/error.log
CustomLog /home/steve/www/nov2010/log/access.log combined
WSGIScriptAlias / /home/steve/www/nov2010/app
Alias /static /home/steve/www/nov2010/public
<Directory /home/steve/www/nov2010/app>
SetHandler wsgi-script
Options ExecCGI
</Directory>
AddType text/html .py
<Location />
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/static
RewriteCond %{REQUEST_URI} !^(/.*)+code.py/
RewriteRule ^(.*)$ code.py/$1 [PT]
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
对于背景阅读:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines
假设您只有一个WSGI应用程序要在站点的根目录下安装,只有静态文件或其他资源在/ static下,那么代替:
WSGIScriptAlias / /home/steve/www/nov2010/app
Alias /static /home/steve/www/nov2010/public
<Directory /home/steve/www/nov2010/app>
SetHandler wsgi-script
Options ExecCGI
</Directory>
AddType text/html .py
<Location />
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/static
RewriteCond %{REQUEST_URI} !^(/.*)+code.py/
RewriteRule ^(.*)$ code.py/$1 [PT]
</Location>
Run Code Online (Sandbox Code Playgroud)
使用:
Alias /static /home/steve/www/nov2010/public
WSGIScriptAlias / /home/steve/www/nov2010/app/code.py
<Directory /home/steve/www/nov2010/app>
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
您正在混合使用多种配置mod_wsgi的方法,这些方法不应该一起使用.
如果您的要求是其他要求,您将必须更清楚您想要发生的事情.
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |