2011-02-02 45 views
0

我正在用apache和mod_python構建一個web服務器。我創建了index.py,就像我見過的其他人一樣,但是與其他人不同,我無法訪問網頁,而無需在url中添加.pymod_python中的URL不按預期工作

例如,http://127.0.1.1/commentsubmit會產生404,但http://127.0.1.1/commentsubmit.py會按預期啓用頁面。

一切都在我的index.py和http://127.0.1.1/來了罰款,但沒有別的沒有.py。我的其他方法是這樣的:

def commentsubmit(req): 
    rest of method 

我很確定問題在於mod_python,但我不知道是什麼。是否有某種配置設置可以做到這一點?除了from mod_python import apache之外的東西我應該導入?

回答

1

Apache服務器將被配置爲傳遞中的.py結束到mod_python的請求的文件名(如果該文件中的目錄存在。)

有許多不同的解決方案,使請求/ commentsubmit傳遞給您的commentsubmit.py處理程序。最簡單的可能是使用mod_rewrite。加上這個給你.htaacess

RewriteEngine On 
RewriteOptions Inherit 
RewriteRule ^commentsubmit$ commentsubmit.py 

這是一個過時的方式來做事情。我推薦你看看pyramid(或者是掛架,或者django,或者其他的wsgi框架中的其中一個)。然後,你可以更好地控制如何將ulrs映射到代碼,使用基於路由的url調度或基於橫向的url調度。