Tout, tout tout sur les .htaccess de base !
késaco les .htaccess ? De tout petits fichiers textes déposés à la racine d’un serveur Apache, et aux pouvoirs étonnants …
En fait, non… pas « tout, tout, tout » ! Il y a des pages pleines sur le web à ce sujet… Mais voici, en vrac, les codes ceux que j’utilise le plus.
Les webmasters les connaissent bien.
Les visiteurs aussi ! Le plus connu est celui qui bloque les accès à certaines pages sécurisées par un login / pass :
Il suffit de déposer sur la racine du serveur Apache un simple fichier texte que l’on renomme directement sur le serveur (avec un client FTP classique) : .htaccess (sans rien avant le point)
Il est bien sur possible de rajouter plusieurs lignes de codes pour plusieurs fonctions.
/* accès sécurisé par login / pass */
AuthUserFile /<chemin absolu de la racine du site>/.htpasswd
AuthName "Zone Protégée"
AuthType Basic
require valid-user
Ce fichier .htaccess est à coupler avec un autre fichier, également déposé sur votre serveur, et contenant le mot de passe demandé. C’est un fichier texte aussi, nommé .htpasswd, et devant contenir sur chacune des ses lignes le nom de chaque utilisateur, suivi des deux points (:), et suivi enfin du mot de passe crypté. Par ex :
monLogin:$apr1$NIXaADqc$kjLTDGHYb96YFQI591ani.
.
/* activation des magic-quotes uniquement sur un dossier ou un site */
php_flag magic_quotes_gpc on
/* augmentation du temps d’execution (en secondes) autorisé pour un script */
php_value max_execution_time 420
/* suppression du PHPSESSID dans les URL (on impose que les sessions passent par cookie et pas dans l’URL) */
php_flag session.use_trans_sid off
ou encore (code qui fonctionne chez OVH, par exemple) :
SetEnv SESSION_USE_TRANS_SID 0
/* redirection vers une page d’erreur personnalisée
* 401 Unauthorized : la personne n’a pas passé avec succès l’identification.
* 403 Forbidden : le serveur n’a pas le droit de répondre à votre requête.
* 404 Not Found : le serveur n’a pas trouvé le document souhaité.
ErrorDocument 401 /erreurs/401.php
ErrorDocument 403 /erreurs/403.php
ErrorDocument 404 /erreurs/404.php
Dans cet exemple il vous faudra également créer 3 pages .php personnalisées (déposées dans un dossier /erreurs/ par ex.) expliquant à votre visiteur l’erreur en cours.
/* Redirection permanante d’un repertoire ou d’un site */
RedirectPermanent /<nom.du.dossier>/ http://www.<nomdusite>.com/
/* empêcher le listage des fichiers d’un dossier sans index
(Mêttre par ex. 403-forbidden.html dans le dossier /error/ )*/
DirectoryIndex index.php index.html index.htm /error/403-forbidden.html
/* Pour débugguer toutes les erreurs sur un serveur qui a paramétré les erreurs à « off », mettre sur la racine ou dans le dossier à debugguer un .htaccess avec*/
php_flag display_errors on
2 causes possibles :
– soit Free (qui est gratuit… donc avec des restrictions) ne supporte pas les .htacces ou demande une syntaxe spéciale (vérifie sur des forums de freenautes)
– soit ton chemin relatif entre la page d’erreur et le htacess n’est pas bon. Teste en mettant ta page d’index et le htaccess directement tous les deux sur le racine ?
J’ai inséré un répertoire avec l’accès sécurisé. J’ai mis un htaccess avec en dernière ligne ErrorDocument 401 ../index.php pour rediriger lorsque l’utilisateur n’a pas accès. Mais la page ne se lance pas et j’ai l’erreur de free. Ma page index.php se trouve à la racine de mon site d’ou les .. mais cela ne marche pas et m^me sans les .. cela ne marche pas.
:bravo: merci !
:)) merci je cherchais ça !