Knowledgebase

Portal Home > Knowledgebase > Hébergement > gestion de votre hébergement > Htaccess et URL rewriting
Htaccess et URL rewriting
Pour protéger votre hébergement Indyra à mis en place des options Suphp, Suexec, Fast-cgi, Cgi. Ces options mises en place réprésentent une meilleure protection pour votre hébergement mais, mal configurées, elles peuvent occasioner des dysfonctionnements sur votre site web. Pour cette raison nous avons désactivé par défaut l'utilisation des Htaccess pour ce type d'options. Pour pouvoir en profiter veuiller contacter le support.
Les Htaccess ne sont disponibles que pour l'option ModPHP par défaut
Voici quelques exemples de htaccess
Redirection vers un sous répertoire l'URL dans la barre d'adresse ne changeant pas
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.tld [NC]
RewriteRule ^/(.*)$ /sub/$1 [L]
Redirection domaine.com vers www.domain.com
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST}//s%{HTTPS} ^[^w][^w][^w][^.].*//((s)on¦s.*) [NC]
RewriteRule ^ http%2://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Redirection HTTP vers HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Htacces sécurisé pour Joomla et Worpress
php_admin_value disable_functions "show_source system shell_exec passthru exec phpinfo popen proc_open"
php_admin_flag allow_url_fopen Off
php_admin_value session.save_path "/var/www/webXXX/phptmp/"
php_admin_value open_basedir "/var/www/webXXX/:/tmp"
Htaccess pour Concrete redirection index.php vers path
RewriteEngine On
RewriteBase /concrete/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /concrete/index.php [L]
Htaccess pour Magento
Autoriser le listage (browsing) d'un répertoire
Il est parfois intéressant d'autoriser le parcous d'un certain groupe de répertoire. De plus, avec les lignes ci-dessous vous pouvez cacher les fichiers qui portent une certaine extension :
Options +Indexes
## empêcher la visualisation de certaines extensions
IndexIgnore *.wmv *.mp4 *.avi
Empêcher le listage (browsing) de tous les répertoires
Pour empêcher le listage de tout un groupe de répetroires :
Options All -Indexes
Messages d'erreur customizés
Créez les pages forbidden.html (pour l'erreur 403), notfound.html (pour l'erreur 404) et servererror.html (pour l'erreur 500) puis ajouter ces lignes :
ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html
Faire marcher les SSI avec le HTML/SHTML
AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
# AddHandler server-parsed .htm
Définir une page d'index différente de index.html
Si vous souhaitez que votre page d'accueil soit home.htm à la place de index.htm, voila les lignes à insérer. Apache vérifiera les fichiers dans l'ordre de la liste ci-dessous :
DirectoryIndex home.htm index.htm index.php
Bloquer l'accès au site (condition sur IP)
Bloquer l'accès à certaines IP pour votre site :
order deny,allow
deny from 202.54.122.33
deny from 8.70.44.53
deny from .spammers.com
allow from all
Autoriser l'accès au site à une plage d'IP
Dans cette exemple on autorise l'accès qu'au utiilsateur de notre propre réseau (plage 192.168.0.0 Ã 198.168.0.24) :
order deny,allow
deny from all
allow from 192.168.0.0/24
Bloquer l'accès au site
Si vous n'aimez pas les visiteurs d'un certain site... bloquez les :
RewriteEngine on
RewriteCond %{HTTP_REFERER} site-to-block\.com [NC]
RewriteCond %{HTTP_REFERER} site-to-block-2\.com [NC]
RewriteRule .* - [F]
Empêcher la lecture de certains fichiers :
Vous voulez empêcher certains fichier d'être accessible en lecture par le net sans toucher aux droits des fichiers :
#file-name est le nom de votre fichier
order allow,deny
deny from all
Eviter l'erreur 500 en spécifiant l'encodage
# Avoid 500 error by passing charset
AddDefaultCharset utf-8
Autoriser l'accès à un répertoire pour vos script CGI
Options +ExecCGI
AddHandler cgi-script cgi pl
# Pour autoriser tout les scripts dans un repertoire
# SetHandler cgi-script
Cacher l'extension de vos pages/scripts
AddType application/x-httpd-php .gne
gne sera traité comme un fichier php! De manière équivalente on peut mettre x-httpd-cgi pour des scripts CGI.
Vérifier la syntaxe des URLs appelées par le visiteur
Parfois les visiteurs tapent directement l'adresse d'un fichier mais se trompent d'une ou plusieurs lettre. L'extension mod_spelling est là pour corriger le problème :
CheckSpelling On
Utilisez GZip pour sauver de la bande passante :
# BEGIN GZIP
# Mettre les deux lignes suivantes en une seule
# Ici je les ai séparées pour l'affichage du site
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml
text/css application/x-javascript application/javascript
# END GZIP
Désactiver les MagicQuotes
php_flag magic_quotes_gpc off
Add to Favourites
Print this Article
Powered by WHMCompleteSolution