如何在Windows上通过XAMPP的Apache服务器提供HTML文件
我有一个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 知道该怎么处理这些文件——它会运行 python
或 perl
。但是,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