如何在Windows上通过XAMPP的Apache服务器提供HTML文件

0 投票
1 回答
1485 浏览
提问于 2025-04-18 10:41

我有一个HTML文件,它会调用一个Python脚本来显示一些来自表单的数据。我想在Windows上通过XAMPP来运行它们。我在创建了一个名为CGIPython的子文件夹后,把我的文件放到了cgi-bin文件夹里。如果我像这样调用HTML文件:

http://localhost:82/cgi-bin/CGIPython/Test.html

我就会收到一个错误提示,内容是"网站无法显示该页面"。即使我尝试一个最简单的.html文件,结果也是一样的错误。不过,如果我直接调用我的.py页面,它是可以正常工作的。我在我的httpd.conf文件中有这一行:

AddHandler cgi-script .cgi .pl .asp .py .html

我还尝试把HTML文件放到htdocs文件夹里。

谢谢

1 个回答

1

首先,试着在 /cgi-bin/ 目录下使用 test.py,这个脚本需要 print 出所有的 html 内容(包括 http header)。你不能像在 .php 文件中那样,把 html 和 Python 代码混在一起。

默认情况下,Apache 只会运行 /cgi-bin/ 里的脚本,所以即使是 /cgi-bin/CGIPython 也可能需要在配置文件中做一些修改。

Apache 会通过操作系统(比如 Windows)来运行 .py.pl 文件,而 Windows 知道该怎么处理这些文件——它会运行 pythonperl。但是,Windows 不知道该如何处理 .html 文件——这到底是 Python、Perl 还是其他语言的文件呢?

最好使用 .htaccess 文件,把 /test.html 转换成 /cgi-bin/test.py

RewriteEngine On
RewriteBase /
RewriteRule ^test.html$ cgi-bin/test.py 

或者对所有文件都这样做。

RewriteRule ^(.*)\.html$ cgi-bin/$1.py 

撰写回答