Python CGI 腳本根本不會顯示在網站上。阿帕奇 2 Debian 10

Python CGI 腳本根本不會顯示在網站上。阿帕奇 2 Debian 10

我和我的朋友在 Debian 10 上啟動了一個伺服器並運行 Apache2。我寫了一個非常簡單的網站和一個 python 腳本只是為了測試 cgi 腳本。因此,基本上在用戶完成表單並按“提交”後,它應該會顯示“Hello world”,但我收到 404 錯誤,指出“在此伺服器上找不到請求的 URL”。表單位於 /var/www/html/form/index.html 中,cgi 腳本位於 /var/www/html/cgi-bin/hello.py 中

Python腳本:

#!/usr/bin/python

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2>'
print '</body>'
print '</html>'

HTML 程式碼:

<!DOCTYPE html>
<html lang=en dir="ltr">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
  <dir class="main">
    <form action="../cgi-bin/hello.py" method="get">
          <fieldset>
              <label for="name">Name</label>
              <input type="text" name="name">
              <label for="mail">E-Mail</label>
              <input type="email" name="email">
              <label type="phone" for="phone">Phone number</label>
              <input type="text" name="phone">
          <input id="submit" class="inputs" type="submit" name="send" value="Wyślij" />
        </fieldset>
        </form>
</dir>
  </body>
</html>

Apache2目錄設定:

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory "/var/www/html/cgi-bin">
    AllowOvveride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

<Directory "/var/www/html/cgi-bin">
Options All
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

相關內容