Is it possible to have Apache htaccess rewrites take effect before it hits django?
I want to be able to specify RewriteRules in an htaccess file that take precedence over django, and if nothing matches then it gets dispatched to mod_wsgi/django.
We’re using apache2 with mod_wsgi and the apache vhost looks like this:
<VirtualHost *:80>
DocumentRoot /usr/local/www/site/static
Alias /css/ /usr/local/www/site/static/css/
Alias /js/ /usr/local/www/site/static/js/
Alias /img/ /usr/local/www/site/static/img/
Alias /flash/ /usr/local/www/site/static/flash/
<Directory /usr/local/www/site/static>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess mallorca-site threads=15
WSGIScriptAlias / /usr/local/www/site/config/dev/dev.wsgi
</VirtualHost>
Thanks
First off you are missing WSGIProcessGroup directive. Without that your application isn’t going to be running in daemon mode as you possibly expect after having defined WSGIDaemonProcess directive.
Secondly, a .htaccess file isn’t even going to be consulted when using WSGIScriptAlias except for the static directories you mapped with Alias directives.
What you need to do is use AddHandler method for mounting WSGI application, with associated rewrite rules to get it to appear at root of site, as documented in:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive