Ugh nevermind.
Yes it's a bug - but in my code. I'll figure it out.
On Friday, 23 May 2014 14:58:11 UTC+10, Spaceman Paul wrote:
-- Yes it's a bug - but in my code. I'll figure it out.
On Friday, 23 May 2014 14:58:11 UTC+10, Spaceman Paul wrote:
Playing around some more, and inserting some trace statements in the django code, I can see
(for the example ^times$ pattern):
1) When WSGIScriptAlias is the server root:
The RegexURLResolver.resolve(self,path) method (in django.core.urlresolvers.py) is called three times,
each time with path="/times" and each time it successfully resolves at the "^times$" pattern.
2) When WSGIScriptAlias is not server root (i.e. /awma):
The RegexURLResolver.resolve(self,path) method (in django.core.urlresolvers.py) is called four times:
a) The first two times it is called with path="/times" and successfully resolves at the "^times$" pattern.
b) The third time it is called with path="/awma/times" - not surprisingly it does not resolve.
c) The fourth time is is called with path="awma/times" - this fails too.
It looks like the fourth call is made from within the third call - it's the call for the admin url include.
Overall result is a 404.
This is looking at the 2.4.13 codebase - although the method is basically the same in 2.6.5 and I
see the same behaviour there.
Is this a bug? Surely I can't be the only person using WSGI with a non-root mount point.
P.
On Friday, 23 May 2014 01:25:03 UTC+1, Spaceman Paul wrote:I've worked around it by creating another A-record and pointing each application to the server root of the respective
virtual host, but this should not be necessary.
On Thursday, 22 May 2014 23:50:57 UTC+1, Spaceman Paul wrote:Nothing in wsgi.conf.
Relevant bits of apache conf:<VirtualHost *:80>
....
WSGIScriptAlias /awma /home/paul/src/awma-apache/internationalguidelines/wsgi. py
....
</VirtualHost>
Nothing in /var/log/apache2/error.log
Access.log just says:152.91.9.9 - - [23/May/2014:08:27:17 +1000] "GET /awma/ HTTP/1.1" 404 1476 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
152.91.9.9 - - [23/May/2014:08:27:22 +1000] "GET /awma/times HTTP/1.1" 404 1483 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
404 debug pages like:Using the URLconf defined in internationalguidelines.urls, Django tried these URL patterns, in this order:Although weirdly, admin works:
1. ^$ [name='index']
2. ^times$ [name='times']
3. ^admin/
The current URL, times, didn't match any of these.
AND: The current URL, , didn't match any of these152.91.9.9 - - [23/May/2014:08:28:19 +1000] "GET /awma/admin/ HTTP/1.1" 200 1450 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
But when I change the WSGIScriptAlias to:WSGIScriptAlias / /home/paul/src/awma-apache/internationalguidelines/wsgi. py
Everything works fine:152.91.9.9 - - [23/May/2014:08:37:22 +1000] "GET / HTTP/1.1" 200 1156 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
152.91.9.9 - - [23/May/2014:08:37:27 +1000] "GET /times HTTP/1.1" 200 1550 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"152.91.9.9 - - [23/May/2014:08:37:39 +1000] "GET /admin/ HTTP/1.1" 200 1446 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
WSGI file contains nothing unusual:import os
import sys
sys.path.append('/home/paul/src/awma-apache/')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "internationalguidelines. settings_prod")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
I was trying to do some tricky stuff with virtualenv initially, but I still see the problem with the
config stripped back very simple, as described above.
P.
On Thursday, 22 May 2014 21:29:02 UTC+1, WongoBongo wrote:Maybe post your apache.conf or/and your wsgi file. Maybe check your Apache logs.K
On Wednesday, May 21, 2014 11:01:29 PM UTC-7, Spaceman Paul wrote:No that's what I've got.
P.
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/486eb942-7e6f-4c79-8dc0-fee7ee91e272%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment