2010-08-31 84 views
1

所以每次web.py教程中,我已經看到了包括這一行:Web.py URL映射不接受「/」

urls = (
    '/', 'index', 
) 

,然後以後,指數類是通過GET函數定義等等。我的問題是,這不起作用。使用上面的代碼,我得到一個404錯誤。使用下面的測繪工作:

urls = (
    '/.*', 'index', 
) 

但是,這要趕上,至少在一開始,每一個可能的URL,而我只想域根被處理的訪問「索引」。 HALP?

的一些基本信息:

的Python 2.6,web.py的0.3,Apache 2.2的與mod_wsgi的

不知道還有什麼是有用的,所以如果有我可以從Apache的增加(在虛擬主機重要的事情,也許?)請問,我會在這裏添加它。

編輯:包括我的Apache虛擬主機配置:

<VirtualHost *:80> 
    ServerName dd.sp4.us 
    DocumentRoot /home/steve/www/nov2010/public/ 
    ErrorLog /home/steve/www/nov2010/log/error.log 
    CustomLog /home/steve/www/nov2010/log/access.log combined 

    WSGIScriptAlias//home/steve/www/nov2010/app 
    Alias /static /home/steve/www/nov2010/public 

    <Directory /home/steve/www/nov2010/app> 
     SetHandler wsgi-script 
     Options ExecCGI 
    </Directory> 

    AddType text/html .py 

    <Location /> 
     RewriteEngine on 
     RewriteBase/
     RewriteCond %{REQUEST_URI} !^/static 
     RewriteCond %{REQUEST_URI} !^(/.*)+code.py/ 
     RewriteRule ^(.*)$ code.py/$1 [PT] 
    </Location> 
</VirtualHost> 
+2

使用Apache配置文件中的mod_wsgi配置更新您的問題。也就是說,您如何定義WSGIScriptAlias。在我看到的web.py文檔中的例子已經被破解,我試圖讓人們更新它們很多次,但沒有人感興趣。因此,遵循這些說明可能是問題的原因。 – 2010-08-31 22:57:04

+0

如此包含。希望你會注意到紅旗。謝謝! – 2010-09-02 22:49:52

回答

5

有關背景閱讀:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines

假設你只擁有一個WSGI應用程序被安裝在現場,只有靜態的根文件或其他資源在/靜態,則不是:

WSGIScriptAlias//home/steve/www/nov2010/app 
Alias /static /home/steve/www/nov2010/public 

<Directory /home/steve/www/nov2010/app> 
    SetHandler wsgi-script 
    Options ExecCGI 
</Directory> 

AddType text/html .py 

<Location /> 
    RewriteEngine on 
    RewriteBase/
    RewriteCond %{REQUEST_URI} !^/static 
    RewriteCond %{REQUEST_URI} !^(/.*)+code.py/ 
    RewriteRule ^(.*)$ code.py/$1 [PT] 
</Location> 

使用:

Alias /static /home/steve/www/nov2010/public 

WSGIScriptAlias//home/steve/www/nov2010/app/code.py 

<Directory /home/steve/www/nov2010/app> 
Order allow,deny 
Allow from all 
</Directory> 

你混合了配置mod_wsgi的應該不能一起使用的多種方式。

如果你的需求是別的,你將不得不更清楚你想要發生什麼。

+0

完美地工作。甚至比這更好,也是非常有意義的。謝謝!! – 2010-09-03 15:18:22