| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- Options -MultiViews
- #
- # REWRITE
- #
- # Used to: create nice urls, force https, and hav the site multilanguage.
- #
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- # Force https
- RewriteCond %{HTTPS} !=on
- RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
- # Add final slash.
- RewriteRule ^([a-zA-Z]{2})$ $1/ [R=301]
- # For files, remove the last /
- RewriteCond %{REQUEST_URI} ^/([a-zA-Z]{2}/)?(.{3,})/$
- RewriteCond %{DOCUMENT_ROOT}/%2 !-d
- RewriteCond %{REQUEST_URI} /$
- RewriteRule ^(.{3,})/$ $1 [R=301]
- # For sections, add the last /
- RewriteCond %{REQUEST_URI} ^/([a-zA-Z]{2}/)?(.{3,})$
- RewriteCond %{DOCUMENT_ROOT}/%2 -d
- RewriteCond %{REQUEST_URI} !/$
- RewriteRule ^(.{3,})$ $1/ [R=301]
- # Hide the 'index.php'
- RewriteRule ^(.*)index\.php?$ $1 [L,R=301]
- # Remove page extensions
- RewriteCond %{THE_REQUEST} ^GET\ (.*)\.(php|html)([#?][^\ ]*)?\ HTTP
- RewriteRule ^(.*)\.(php|html)$ $1 [R=301]
- # Language as GET param.
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} ^/([a-zA-Z]{2})(/(.*))?$
- RewriteRule ^([a-zA-Z]{2})(/(.*))?$ $3?lang=$1 [L,QSA]
- # Add .php extension when needed. TODO: Actualy used?
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME}.php -f
- RewriteRule ^(.*)$ $1\.php [L]
- # Redirect permalinks.
- RewriteRule ^project/([A-Z\-a-z0-9]{3,}+)[\/]?$ /project/project.php?permalink=$1 [NC]
- RewriteRule ^blog/([A-Z\-a-z0-9]{3,}+)[\/]?$ /blog/post.php?permalink=$1 [NC]
- RewriteRule ^help[\/]?$ /help/index.php [NC]
- RewriteRule ^(perfil|profile|profila)[\/]?$ /profile/index.php [NC]
- # PHP to xml.
- RewriteRule ^sitemap.xml$ /sitemap.php [NC]
- RewriteRule ^imgmap.xml$ /sitemap-image.php [NC]
- RewriteRule ^rss.xml$ /rss.php
- </ifModule>
- #
- # EXPIRES
- #
- # Used to: control the cache times of the different files on the server.
- #
- <IfModule mod_expires.c>
- ExpiresActive on
- ExpiresDefault "access plus 2 days"
- ExpiresByType application/javascript "access plus 6 days"
- ExpiresByType image/x-ico "access plus 12 days"
- ExpiresByType image/jpg "access plus 12 days"
- ExpiresByType image/jpeg "access plus 12 days"
- ExpiresByType image/gif "access plus 12 days"
- ExpiresByType image/png "access plus 12 days"
- ExpiresByType video/mkv "access plus 12 days"
- ExpiresByType text/css "access plus 6 days"
- ExpiresByType text/plain "access plus 6 days"
- </IfModule>
- #
- # HEADERS
- #
- # Used to: control the cache times of the different files on the client.
- #
- <ifModule mod_headers.c>
- <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
- Header set Cache-Control "max-age=864000, public, must-revalidate"
- </filesMatch>
- <filesMatch "\.(css)$">
- Header set Cache-Control "max-age=864000, public, must-revalidate"
- </filesMatch>
- <filesMatch "\.(js)$">
- Header set Cache-Control "max-age=864000, private, must-revalidate"
- </filesMatch>
- <filesMatch "\.(x?html?|php)$">
- Header set Cache-Control "max-age=86400, private, must-revalidate"
- </filesMatch>
- </ifModule>
- <ifModule mod_deflate.c>
- AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
- AddOutputFilterByType DEFLATE image/x-icon
- AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
- AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
- AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
- AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
- AddOutputFilterByType DEFLATE font/truetype font/opentype
- </ifModule>
- #
- # ERROR
- #
- # Used to: redirect to nice error pages.
- #
- ErrorDocument 403 /error/403.php
- ErrorDocument 404 /error/404.php
- ErrorDocument 500 /error/500.php
|