RewriteEngine On RewriteCond %{REQUEST_URI} (.*)\.css$ RewriteRule ^(.*) %{DOCUMENT_ROOT}/cssHandler.php [L,QSA] RewriteCond %{REQUEST_URI} ^/files/jsfiles.js$ RewriteRule ^(.*) %{DOCUMENT_ROOT}/flagHandlerJS.php [L,QSA] RewriteCond %{REQUEST_URI} ^/files/base.js$ RewriteRule ^(.*) %{DOCUMENT_ROOT}/base.js [L,QSA] RewriteCond %{REQUEST_URI} ^/files/www.js$ RewriteRule ^(.*) %{DOCUMENT_ROOT}/bannersHandlerJS.php [L,QSA] RewriteCond %{REQUEST_URI} (.*)sitemap\.xml$ RewriteRule ^(.*) %{DOCUMENT_ROOT}/sitexmlHandler.php [L,QSA] RewriteCond %{REQUEST_URI} ^(.*)(\.gz)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)(\.zip)$ RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/nonexisting_url.php [L] RewriteCond %{REQUEST_URI} (.*)/$ RewriteCond %{REQUEST_FILENAME}index.html !-f RewriteCond %{REQUEST_FILENAME}index.html.gz -f [OR] RewriteCond /home/httpd/vhosts/${LC:%{HTTP_HOST}}/${LC:%{HTTP_HOST}}.zip -f RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/zipHandler.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)(\.jpg|\.png|\.ico|\.gif|\.bmp|\.js|\.css)$ [NC] RewriteCond %{REQUEST_FILENAME}.gz -f [OR] RewriteCond /home/httpd/vhosts/${LC:%{HTTP_HOST}}/${LC:%{HTTP_HOST}}.zip -f RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/zipHandler.php [L] # return 404 to strange URLs RewriteCond %{REQUEST_URI} (.*)(nonexisting_url\.php)$ RewriteRule ^(.*)$ - [L] RewriteCond %{REQUEST_URI} ^(.*)(\.html|\.php|\.js|\.css)(.*)(\.js|\.css) RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/nonexisting_url.php [L] # redirect missing files to vserver root with 301 RewriteCond %{REQUEST_URI} !^/$ RewriteCond %{REQUEST_URI} !(.*)(\.jpg|\.png|\.ico|\.gif|\.bmp|\.js|\.css)$ [NC] RewriteCond %{REQUEST_URI} !(.*)robots\.txt$ RewriteCond %{REQUEST_URI} !(.*)(HTTP_NOT_FOUND\.html)(.*)$ RewriteCond /home/httpd/vhosts/${LC:%{HTTP_HOST}}/%{REQUEST_URI} !-f RewriteCond /home/httpd/vhosts/${LC:%{HTTP_HOST}}/%{REQUEST_URI} !-d RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=301,L]