httpd on FC16 (version 2.2) has a fairly old version of mod_rewrite and per-directory rules don't work quite how I expected them to. Fix the changes from commit a9d1f296fabec223b6e07374ce5ad8281ce151ca by moving the rewrite rules back to global context, but specifying only the media/ bits we care about in the django context.
Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com> --- apache/conf/django-directives | 32 ++++++++++++++++---------------- 1 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apache/conf/django-directives b/apache/conf/django-directives index 3d1989c..f02c7e6 100644 --- a/apache/conf/django-directives +++ b/apache/conf/django-directives @@ -5,27 +5,27 @@ ERROR__DJANGO_REQUIRES_THE_PREFORK_MPM </IfModule> -<Location ~ "/(afe|new_tko)/server"> - # - # Try to serve admin media files, no matter where django is actually installed - # Covers python versions 2.4 through 2.7 and also django installed by utils/build_externals.py - # - RewriteEngine On - RewriteCond /usr/local/autotest/site-packages/django/contrib/admin/media -d - RewriteRule /media(.*) /usr/local/autotest/site-packages/django/contrib/admin/media/$1 +# +# Try to serve admin media files, no matter where django is actually installed +# Covers python versions 2.4 through 2.7 and also django installed by utils/build_externals.py +# +RewriteEngine On +RewriteCond /usr/local/autotest/site-packages/django/contrib/admin/media -d +RewriteRule /media/(css|img|js)(.*) /usr/local/autotest/site-packages/django/contrib/admin/media/$1/$2 - RewriteCond /usr/lib/python2.4/site-packages/django/contrib/admin/media -d - RewriteRule /media(.*) /usr/lib/python2.4/site-packages/django/contrib/admin/media/$1 +RewriteCond /usr/lib/python2.4/site-packages/django/contrib/admin/media -d +RewriteRule /media/(css|img|js)(.*) /usr/lib/python2.4/site-packages/django/contrib/admin/media/$1/$2 - RewriteCond /usr/lib/python2.5/site-packages/django/contrib/admin/media -d - RewriteRule /media(.*) /usr/lib/python2.5/site-packages/django/contrib/admin/media/$1 +RewriteCond /usr/lib/python2.5/site-packages/django/contrib/admin/media -d +RewriteRule /media/(css|img|js)(.*) /usr/lib/python2.5/site-packages/django/contrib/admin/media/$1/$2 - RewriteCond /usr/lib/python2.6/site-packages/django/contrib/admin/media -d - RewriteRule /media(.*) /usr/lib/python2.6/site-packages/django/contrib/admin/media/$1 +RewriteCond /usr/lib/python2.6/site-packages/django/contrib/admin/media -d +RewriteRule /media/(css|img|js)(.*) /usr/lib/python2.6/site-packages/django/contrib/admin/media/$1/$2 - RewriteCond /usr/lib/python2.7/site-packages/django/contrib/admin/media -d - RewriteRule /media(.*) /usr/lib/python2.7/site-packages/django/contrib/admin/media/$1 +RewriteCond /usr/lib/python2.7/site-packages/django/contrib/admin/media -d +RewriteRule /media/(css|img|js)(.*) /usr/lib/python2.7/site-packages/django/contrib/admin/media/$1/$2 +<Location ~ "/(afe|new_tko)/server"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE frontend.settings -- 1.7.7.6 On 13.03.2012 [17:12:44 -0700], Nishanth Aravamudan wrote: > When attempting to serve a sles11-sp2 install from cobbler on the same > host as autotest, I got 404s for > > http://<server>/cblr/links/sles11-sp2-suseboot-ppc64/media.1 > > with httpd complaining: > > File does not exist: > x/usr/lib/python2.7/site-packages/django/contrib/admin/media/.1 > > This is because of the django directives from autotest being global to > apache's configuration, so they affect more than just autotest's > installation. Fix this by pushing the RewriteRules under the Location > tag. > > Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com> > > diff --git a/apache/conf/django-directives b/apache/conf/django-directives > index de376d8..184531b 100644 > --- a/apache/conf/django-directives > +++ b/apache/conf/django-directives > @@ -5,27 +5,27 @@ > ERROR__DJANGO_REQUIRES_THE_PREFORK_MPM > </IfModule> > > -# > -# Try to serve admin media files, no matter where django is actually > installed > -# Covers python versions 2.4 through 2.7 and also django installed by > utils/build_externals.py > -# > -RewriteEngine On > -RewriteCond /usr/local/autotest/site-packages/django/contrib/admin/media -d > -RewriteRule /media(.*) > /usr/local/autotest/site-packages/django/contrib/admin/media/$1 > +<Location ~ "/(afe|new_tko)/server"> > + # > + # Try to serve admin media files, no matter where django is actually > installed > + # Covers python versions 2.4 through 2.7 and also django installed by > utils/build_externals.py > + # > + RewriteEngine On > + RewriteCond /usr/local/autotest/site-packages/django/contrib/admin/media > -d > + RewriteRule /media(.*) > /usr/local/autotest/site-packages/django/contrib/admin/media/$1 > > -RewriteCond /usr/lib/python2.4/site-packages/django/contrib/admin/media -d > -RewriteRule /media(.*) > /usr/lib/python2.4/site-packages/django/contrib/admin/media/$1 > + RewriteCond /usr/lib/python2.4/site-packages/django/contrib/admin/media > -d > + RewriteRule /media(.*) > /usr/lib/python2.4/site-packages/django/contrib/admin/media/$1 > > -RewriteCond /usr/lib/python2.5/site-packages/django/contrib/admin/media -d > -RewriteRule /media(.*) > /usr/lib/python2.5/site-packages/django/contrib/admin/media/$1 > + RewriteCond /usr/lib/python2.5/site-packages/django/contrib/admin/media > -d > + RewriteRule /media(.*) > /usr/lib/python2.5/site-packages/django/contrib/admin/media/$1 > > -RewriteCond /usr/lib/python2.6/site-packages/django/contrib/admin/media -d > -RewriteRule /media(.*) > /usr/lib/python2.6/site-packages/django/contrib/admin/media/$1 > + RewriteCond /usr/lib/python2.6/site-packages/django/contrib/admin/media > -d > + RewriteRule /media(.*) > /usr/lib/python2.6/site-packages/django/contrib/admin/media/$1 > > -RewriteCond /usr/lib/python2.7/site-packages/django/contrib/admin/media -d > -RewriteRule /media(.*) > /usr/lib/python2.7/site-packages/django/contrib/admin/media/$1 > + RewriteCond /usr/lib/python2.7/site-packages/django/contrib/admin/media > -d > + RewriteRule /media(.*) > /usr/lib/python2.7/site-packages/django/contrib/admin/media/$1 > > -<Location ~ "/(afe|new_tko)/server"> > SetHandler python-program > PythonHandler django.core.handlers.modpython > SetEnv DJANGO_SETTINGS_MODULE frontend.settings > > -- > Nishanth Aravamudan <n...@us.ibm.com> > IBM Linux Technology Center -- Nishanth Aravamudan <n...@us.ibm.com> IBM Linux Technology Center _______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest