|
|
@@ -1,134 +1,106 @@
|
|
|
-#RewriteMap lc int:tolower
|
|
|
-
|
|
|
-#ErrorDocument 403 /error/403.php
|
|
|
-#ErrorDocument 404 /error/404.php
|
|
|
-#ErrorDocument 500 /error/500.php
|
|
|
-
|
|
|
-#AddHandler application/x-httpd-php .xml
|
|
|
-#AddType application/x-httpd-php .xml
|
|
|
-AddType application/x-httpd-php .xml
|
|
|
-AddHandler php5-cgi .xml
|
|
|
-# <FilesMatch "\.php$">
|
|
|
-# Order allow, deny
|
|
|
-# Deny from all
|
|
|
-# </FilesMatch>
|
|
|
-Options +FollowSymlinks
|
|
|
-RewriteEngine on
|
|
|
-CheckSpelling on
|
|
|
-
|
|
|
-# Force https
|
|
|
-RewriteCond %{HTTPS} !=on
|
|
|
-RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
|
|
-
|
|
|
-
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^(en|de|fr)[-,;]? [NC,OR]
|
|
|
-#RewriteCond %{REQUEST_URI} !^(en|es|eu)/[.]+
|
|
|
-#RewriteRule ^$ /en/$1 [NC]
|
|
|
-#RewriteRule ^([a-zA-Z]{2})/(.*)$ $2?lang=$1 [L]
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} !^(en|es|eu)/[.]+
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^en [NC]
|
|
|
-#RewriteRule ^$ /en/%{REQUEST_URI} [L,R=301]
|
|
|
-
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^es [NC]
|
|
|
-#RewriteRule ^$ /de/%{REQUEST_URI} [L,R=301]
|
|
|
-
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^eu [NC]
|
|
|
-#RewriteRule ^$ /eu/%{REQUEST_URI} [L,R=301]
|
|
|
-
|
|
|
-#RewriteRule ^([a-zA-Z]{2})/(.*)$ $2?lang=$1 [L]
|
|
|
-
|
|
|
-
|
|
|
-#RewriteRule ^([a-zA-Z]{2})/(.*)$ $2?lang=$1 [NC]
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} ![\/]?(en|es|eu)/[.]* [NC]
|
|
|
-#RewriteCond %{QUERY_STRING} ![.]*lang=[.]*
|
|
|
-#RewriteRule ^ /en%{REQUEST_URI} [R,L]
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^en [NC]
|
|
|
-#RewriteRule ^ /en%{REQUEST_URI} [R,L]
|
|
|
-#RewriteRule ^ https://inigovalentin.com/en%{REQUEST_URI} [R,L]
|
|
|
-
|
|
|
-RewriteCond %{REQUEST_URI} ![\/]?(en|es|eu)/[.]* [NC]
|
|
|
-RewriteCond %{QUERY_STRING} ![.]*lang=[.]*
|
|
|
-RewriteCond %{HTTP:Accept-Language} ^en [NC]
|
|
|
-RewriteRule ^ /en%{REQUEST_URI} [R,L]
|
|
|
-#RewriteRule ^ https://inigovalentin.com/en%{REQUEST_URI} [R,L]
|
|
|
-
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} [\/]?(en|es|eu)/[.]* [NC]
|
|
|
-#RewriteCond %{REQUEST_URI} /(en|es|eu)/[.]* [NC]
|
|
|
-#RewriteRule ^[\/]?([a-zA-Z]{2})[\/]?(.*)$ $2?lang=$1 [NC,L]
|
|
|
-RewriteCond %{REQUEST_URI} /(en|es|eu)/[.]* [NC]
|
|
|
-RewriteRule ^[\/]?([a-zA-Z]{2})[\/]?(.*)$ $2?lang=$1 [NC,L]
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} !/(en|es|eu)/ [NC]
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^es [NC]
|
|
|
-#RewriteRule ^ https://inigovalentin.com/es%{REQUEST_URI} [R,NC]
|
|
|
-#[R,L]
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} !/(en|es|eu)/ [NC]
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^eu [NC]
|
|
|
-#RewriteRule ^ https://inigovalentin.com/eu%{REQUEST_URI} [NC]
|
|
|
-#[R,L]
|
|
|
-
|
|
|
-
|
|
|
-#RewriteRule ^([a-zA-Z]{2})/(.*)$ $2?lang=$1 [NC]
|
|
|
-#[L]
|
|
|
-
|
|
|
-#RewriteCond %{REQUEST_URI} !/(it|en|admin)/ [NC]
|
|
|
-#RewriteRule ^ http://domain.net/en%{REQUEST_URI} [R,L]
|
|
|
-
|
|
|
-# Permalink rewrites
|
|
|
-
|
|
|
-#RewriteRule ^sitemap.xml$ /sitemap.php [NC]
|
|
|
-#RewriteRule ^imgmap.xml$ /sitemap-image.php [NC]
|
|
|
-#RewriteRule ^rss.xml$ /rss.php [NC]
|
|
|
-
|
|
|
-#RewriteRule ^blog/([A-Z\-a-z0-9]{3,}+)[\/]?$ /blog/post.php?permalink=$1 [NC]
|
|
|
-
|
|
|
-#RewriteRule ^project/([A-Z\-a-z0-9]{3,}+)[\/]?$ /project/project.php?permalink=$1 [NC]
|
|
|
-
|
|
|
-#RewriteRule ^help[\/]?$ /help/index.php [NC]
|
|
|
-
|
|
|
-#RewriteRule ^(yo|me|ni)[\/]?$ /me/index.php [NC]
|
|
|
+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>
|
|
|
|
|
|
-#RewriteRule !^(en|de|fr)/ /en%{REQUEST_URI} [R=301,L]
|
|
|
-#RewriteCond %{HTTP:Accept-Language} ^(en|de|fr)[-,;]? [NC,OR]
|
|
|
-#RewriteCond en ^(en)$
|
|
|
-#RewriteRule ^$ /%1/ [R=301,L]
|
|
|
-#RewriteRule !^(en|de|fr)/ /en%{REQUEST_URI} [R=301,L]
|
|
|
|
|
|
-# BEGIN Cache-Control Headers
|
|
|
+#
|
|
|
+# EXPIRES
|
|
|
+#
|
|
|
+# Used to: control the cache times of the different files on the server.
|
|
|
+#
|
|
|
<IfModule mod_expires.c>
|
|
|
- ExpiresActive on
|
|
|
-# ExpiresDefault "access plus 1 month"
|
|
|
- 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"
|
|
|
+ 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>
|
|
|
|
|
|
-# BEGIN Cache-Control Headers
|
|
|
+
|
|
|
+#
|
|
|
+# 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>
|
|
|
+ <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>
|
|
|
-# END Cache-Control Headers
|
|
|
|
|
|
<ifModule mod_deflate.c>
|
|
|
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
|
|
|
@@ -140,11 +112,13 @@ RewriteRule ^[\/]?([a-zA-Z]{2})[\/]?(.*)$ $2?lang=$1 [NC,L]
|
|
|
AddOutputFilterByType DEFLATE font/truetype font/opentype
|
|
|
</ifModule>
|
|
|
|
|
|
-# Enable memory caching
|
|
|
-#CacheEnable mem /
|
|
|
-
|
|
|
-# Limit the size of the cache to 1 Megabyte
|
|
|
-#MCacheSize 1024
|
|
|
+#
|
|
|
+# ERROR
|
|
|
+#
|
|
|
+# Used to: redirect to nice error pages.
|
|
|
+#
|
|
|
+ErrorDocument 403 /error/403.php
|
|
|
+ErrorDocument 404 /error/404.php
|
|
|
+ErrorDocument 500 /error/500.php
|
|
|
|
|
|
-#CacheFile footer.php header.php img/*/*/*.jpg
|
|
|
|