Apache-2.2

您無權訪問此伺服器上的 /index.py

  • June 4, 2014

我正在用 Python 設置一個簡單的測試頁面。我只有兩個文件:.htaccess 和 index.py。(兩者的權限都設置為 755)我在嘗試查看頁面時收到 403 Forbidden 錯誤 - 我該如何解決這個問題?

.ht 訪問:

RewriteEngine On
AddHandler application/x-httpd-cgi .py
DirectoryIndex index.py

index.py:

#!/usr/bin/python
print "Content-type: text/html\n\n"
print "test"

你檢查過你的錯誤日誌嗎?這是第一個看的地方。

我認為你AddHandler是不正確的。文件說它是這樣使用的:

語法:AddHandler 處理程序名稱擴展

$$ extension $$…

application/x-httpd-cgi不是處理程序,它是 MIME 類型。

您可能需要ExecCGIon(請參閱文件)。這通常是啟用的,/cgi-bin/但如果你的文件不在那裡,你需要在你的.htaccess

Options +ExecCGI
AddHandler cgi-script .py

這取決於您的伺服器允許.htaccess文件。請參閱AllowOverride 文件

您不需要RewriteEngine OnDirectoryIndex只需設置當您點擊包含目錄(即,/python/)時返回的文件,而沒有文件名。

此解決方案僅允許.py使用mod_cgi. 其他建議的解決方案mod_python也可以使用,但這更複雜,並且在 Apache 程序中嵌入了 Python 解釋器。使用系統 Python 解釋器直接執行不需要這樣做。

引用自:https://serverfault.com/questions/62893