XHTML pour l'affichage des répertoire

2005/02/04

J'avais un drole de probleme d'UTF-8 et de référencements multiples causé par l'affiches des répertoires par Apache2 et des nombreux liens pour trier par colonnes. En effet, la date de mon système est en UTF-8 et apache envoit par défaut du ISO-8859-1.

J'ai fouillé dans le code du fichier "modules/generators/mod_autoindex.c" et j'ai découvert l'option XHTML. Cette option permet d'envoyer un doctype XHTML et enlève l'affichage des dates par défauts, ainsi que l'ordre de tri.

Donc deux problèmes de régler en même temps. Pour ce qui est des noms de fichiers, je n'utilise presque jamais des accents par convention implicite. Donc voici les commandes:

/usr/local/apache2/conf/httpd.conf

# s'assurer d'avoir les commandes suivantes dans un <directory></directory>
     Options Indexes
     AllowOverride Indexes

.htaccess

IndexOptions XHTML
/usr/local/apache2/conf/httpd.conf Options Indexes AllowOverride Indexes

Journal Apache / log file

Entrée inconnues?

Si vous recevez, des statistiques comme celle ci:

213.3.170.171 - - [22/Mar/2004:12:08:22 -0500] "GET /_vti_bin/owssvr.dll?UL=1&ACT=4&BUILD=2614&STRMVER=4&CAPREQ=0 HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
213.3.170.171 - - [22/Mar/2004:12:08:23 -0500] "GET /MSOffice/cltreq.asp?UL=1&ACT=4&BUILD=2614&STRMVER=4&CAPREQ=0 HTTP/1.1" 200 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

Il s'agit d'une barre d'outils de Microsoft Office installée sur Internet Explorer

Pour éviter de toujours faire des redirections vers ma page d'erreur, j'ai créé les répertoires _vti_bin et MSOffice et créé des fichiers vides owssvr.dll et cltreq.asp. Au lieu de télécharger 4 Ko à chaque fois, IE télécharge des fichiers de 0 octet.

Séparer les entrées d'Internet Explorer des autres navigateurs/crawlers

Dans le fichier httpd.conf

BrowserMatch MSIE ie
BrowserMatchNoCase Opera !ie

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

CustomLog logs/access_log combined env=!ie
CustomLog logs/access_log_ie combined env=ie

Explication: si MSIE se trouve dans le nom du navigateur, j'active la variable ie. Si Opera se trouve dans le nom du navigateur, je désactive la variable ie. Par défaut, elle est désactivé (dans tous les autres cas). Ensuite, je sépare dans deux journaux différents les entrées selon la valeur de la variable ie. env=!ie indique que la variable booléenne ie doit être désactivée pour écrire dans le fichier logs/access_log.

Si vous faites les changements, n'oubliez pas de repartir le serveur apache: /usr/sbin/apachectl -k restart

UTF-8 avec les messages d'erreurs Apache

2004/08/12 22:28

Après un heure de travail pour envoyer mes messages d'erreurs Apache, j'ai finalement réussit à les envoyer en UTF-8.

  1. Renommer les messages d'erreurs .html.var en .html.utf8.var dans le répertoire /var/www/error/.
  2. Changer les liens dans le fichier httpd.conf (/etc/httpd/conf/httpd.conf) avec les .utf8
  3. Pour chaque fichiers avec des variables et des entités html (&eacute; par exemple), il faut remplacer les entités par des caractères utf-8 et donc enregistrer le fichier en utf8 (avec vi, :set encoding=utf8)

Erreurs Apache

2004/08/12 20:06

Extension des fichiers

2004/08/13 20:13

Le type mime des fichiers change selon les extensions dans Apache ( TypesConfig /etc/mime.types ). Ainsi, sur redhat, par défaut, un fichier qui contient .exe demandera de le télécharger contrairement à un .com. Remarquer que l'extension n'est pas obligé d'être à la fin du nom de fichier.

Redirection

2006-02-10 16:03

Robin Millette vient de me faire part qu'un Redirect 303 /url/ http://domaine.com/ est mieux pour enlever l'indexation des vieilles pages dans les moteurs de recherche.

Hyperliens...

  • Throttling : empêcher le téléchargement excessif (pompage de site Web)