S
StefouFR
Guest
Bonsoir à tous,
Je posséde un serveur dédié sous Windows Server 2008 R2 (1&1) pour du Apache/Mysql par Xampp.
Je ne m'y connais pas trop en .htaccess.
Pouvez-vous me donner votre avis sur mon .htaccess actuel ?
Le but est d'avoir quelque chose de sécurisé et aussi d'optimisé "SEO", par exemple avec le cache, les expirations, compression, redirection, etc.
J'héberge un site de jeu en ligne avec base de données, forum, etc.
A voir s'il y a des trucs "faux" ou inutile ou manquant ?
Merci à vous, peut-être que cela servira à d'autres webmasters,
StefouFR.
Je posséde un serveur dédié sous Windows Server 2008 R2 (1&1) pour du Apache/Mysql par Xampp.
Je ne m'y connais pas trop en .htaccess.
Pouvez-vous me donner votre avis sur mon .htaccess actuel ?
Le but est d'avoir quelque chose de sécurisé et aussi d'optimisé "SEO", par exemple avec le cache, les expirations, compression, redirection, etc.
J'héberge un site de jeu en ligne avec base de données, forum, etc.
Code:
SetEnv REGISTER_GLOBALS 0
RewriteEngine On
RewriteCond %{HTTP_HOST} !^MON_DOMAINE\.com$ [NC]
RewriteRule ^(.*)$ http://MON_DOMAINE.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* ? [F,L]
ErrorDocument 403 http://MON_DOMAINE.com/
ErrorDocument 404 http://MON_DOMAINE.com/
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>
#Check to see if browser can accept gzip files. If so and we have it – serve it!
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there’s no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]
<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary Yes
mod_gzip_command_version ‘/mod_gzip_status’
mod_gzip_min_http 1000
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 512000
mod_gzip_maximum_inmem_size 60000
mod_gzip_handle_methods GET POST
mod_gzip_temp_dir /tmp
mod_gzip_item_include file .html$
mod_gzip_item_include file .php$
mod_gzip_item_include file .pl$
mod_gzip_item_include file .rb$
mod_gzip_item_include file .py$
mod_gzip_item_include file .cgi$
mod_gzip_item_include file .css$
mod_gzip_item_include file .js$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^httpd/unix-directory$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_include handler ^application/x-httpd-php
mod_gzip_item_exclude mime ^image/.*
</ifmodule>
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
AddType image/x-icon .ico
ExpiresByType image/ico "access plus 2592000 seconds"
ExpiresByType image/icon "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
ExpiresByType application/javascript A259200
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=2592000, private"
</FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers
# KILL THEM ETAGS
Header unset ETag
FileETag none
# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>
# protection de la lecture des répertoires
Options -Indexes
# désactivation de la recherche implicite du serveur
Options -Multiviews
A voir s'il y a des trucs "faux" ou inutile ou manquant ?
Merci à vous, peut-être que cela servira à d'autres webmasters,
StefouFR.