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

Reply via email to