Forum Moderators: phranque
Options +FollowSymLinks
RewriteEngine on
#cache headers
<FilesMatch "\.jpg$">
Header set Cache-Control "must-revalidate, max-age=2592000"
</FilesMatch>
<FilesMatch "\.(js|css|png|gif|html|ico)$">
Header set Cache-Control "must-revalidate, max-age=450000"
</FilesMatch>
#turn off default expires values
ExpiresActive Off
ServerSignature Off
#default page for directory
DirectoryIndex index.html index.php index.htm
#turn off directory listing
Options -Indexes
#def charset
AddDefaultCharset UTF-8
#redirect any index.html to the directory it is stored in
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+/)?index\.html\ HTTP
RewriteRule ^(.+/)?index\.html$ http://www.example.com/$1 [R=301,L]
#ifnonwww->www
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} !^origin\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
#rdirect most jpegs to new location (cdn) exclude referrering addresses which include "com/cfg" and "preview"
#exclude some more files
RewriteCond %{REQUEST_URI} \.jpg$
RewriteCond %{HTTP_HOST} !^origin\.example\.com
RewriteCond %{HTTP_REFERER} !(com/cfg|preview)
RewriteCond %{REQUEST_URI} !(topline5_1|corner_right|corner_left|bottomline).jpg$
RewriteRule ^(.+)$ http://cdn.example.com/$1 [R=301,L]
#rewrite gallery requests with page offset, like "gallery/test-page_1.html" to php files
RewriteRule ^gallery/([^_]+)_([^_]+)\.html$ /gallery/index.php?cat=$1&offset=$2 [L]
#rewrite gallery requests without page-offset
RewriteRule ^gallery/([^/]+)\.html$ /gallery/index.php?cat=$1 [L]
#rewrite guestbook requests with page-offset (german and engl)
RewriteRule ^de/gaestebuch/page-([0-9]+)\.html$ /de/gaestebuch/index.php?offset=$1 [L]
RewriteRule ^guestbook/page-([0-9]+)\.html$ /guestbook/index.php?offset=$1 [L]
#only gif|jpg|png can be accessed via origin.example.com, otherwise 404
RewriteCond %{HTTP_HOST} ^origin\.example\.com
RewriteRule !\.(gif|jpg|png)$ /this_filepath_does_not_exist.html [L]
#some rewrites to php
RewriteRule ^restaurant.html$ /restaurant.php [L]
RewriteRule ^de/kueche.html$ /de/kueche.php [L]
RewriteRule ^information.html$ /information.php [L]
RewriteRule ^de/informationen.html$ /de/informationen.php [L]
#some more rewrites to dynamic pages
RewriteRule ^environmental-management\.html$ /info_subpage.php?page=environmental-management [L]
RewriteRule ^de/umweltmanagement\.html$ /de/info_subpage.php?page=umweltmanagement [L]
RewriteRule ^activities-workshops\.html$ /info_subpage.php?page=activities-workshops [L]
RewriteRule ^de/aktivitaeten-workshops\.html$ /de/info_subpage.php?page=aktivitaeten-workshops [L]
RewriteRule ^([^/]+)-info\.html$ /info_subpage.php?page=$1 [L]
RewriteRule ^de/([^/]+)-info\.html$ /de/info_subpage.php?page=$1 [L]
RewriteRule ^([^/]+)-info\.html$ /info_subpage.php?page=$1 [L]
RewriteRule ^de/([^/]+)-info\.html$ /de/info_subpage.php?page=$1 [L] RewriteRule ^gallery/([^_]+)_([^_]+)\.html$ /gallery/index.php?cat=$1&offset=$2 [L]
RewriteRule ^gallery/([^/]+)\.html$ /gallery/index.php?cat=$1 [L]