You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Apache CGI运行Python文件时遭遇404错误求助

Apache CGI运行Python脚本出现404错误的解决方法

1. 修正重复冲突的Directory配置

你在apache2.conf中重复定义了/var/www/cgi-bin的目录配置,第二个Options All会覆盖第一个的ExecCGI设置,同时Apache 2.4已弃用Order allow,deny和Allow from all,换成Require all granted。将配置合并修正为:

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Require all granted
   AddHandler cgi-script .py
</Directory>

2. 确保ScriptAlias映射正确

Apache需要通过ScriptAlias将URL中的/cgi-bin/映射到服务器本地目录,检查apache2.conf或/etc/apache2/sites-available/000-default.conf中是否存在以下配置,没有则添加:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

3. 修复文件与目录权限

404错误也可能是Apache用户(www-data)无法访问目标文件或目录导致:

  • 设置cgi-bin目录权限:
    sudo chmod 755 /var/www/cgi-bin
    
  • 给Python脚本添加执行权限:
    sudo chmod +x /var/www/cgi-bin/hello.py
    
  • 变更目录与文件的所有者为Apache运行用户:
    sudo chown -R www-data:www-data /var/www/cgi-bin
    

4. 启用CGI模块

确认Apache已启用cgi模块,未启用则执行:

sudo a2enmod cgi

执行后重启Apache服务:

sudo systemctl restart apache2

5. 验证文件路径

最后确认脚本确实存放在指定目录:

ls /var/www/cgi-bin/hello.py

若输出文件路径则说明位置正确,否则检查文件是否放错目录。

内容的提问来源于stack exchange,提问作者Saul Solis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:22:17