| layout | default |
|---|---|
| title | 在 Apache 上部署 CGI |
以下是创建并运行 web.py 应用程序的简单步骤:
- 确保已安装 web.py 和 flup。
- 创建应用程序
按文档创建应用程序,主代码结构如下:
if __name__ == "__main__":
web.run(urls, globals())
本示例中,我们将应用命名为 app.py,存放在 /www/app 目录下,并通过 http://server/app/app.py 访问。
-
配置 Apache(以 Apache 2.2 为例)
ScriptAlias /app "/www/app/" <Directory "/www/app/"> Options +ExecCGI +FollowSymLinks Order allow,deny Allow from all </Directory>
完成后,即可通过 http://server/app/app.py/ 访问应用。应用处理的其他 URL 会附加在路径后,例如:http://server/app/app.py/myurl。
-
.htaccess配置Options +ExecCGI AddHandler cgi-script .py DirectoryIndex index.py <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/favicon.ico$ RewriteCond %{REQUEST_URI} !^(/.*)+index.py/ RewriteRule ^(.*)$ index.py/$1 [PT] </IfModule>
此配置假设应用名为 index.py。当请求的静态文件或目录不存在时,请求会被路由到 index.py。若需调整路径,可修改 RewriteBase 为子目录。