Pour l'histoire du site sans les www, il faut effectivement inverser l'ordre des règles pour que la redirection soit traitée en premier :
1 2 3 4 5 6 7 8
| AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.kikigagne\.fr [NC]
RewriteRule (.*) http://www.kikigagne.fr/ [QSA,R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L] |
Pour l'erreur 404, pourquoi ne pas faire tout de suite ce que tu veux ?
ErrorDocument 404 /404.php
Dans cet exemple, tu écris une page 404.php qui sera affichée dans le cas des erreurs 404.
Pour info, les redirections sur les erreurs 404, ce n'est pas une bonne idée car tu laisses croire aux moteurs de recherche et/ou aux visiteurs que l'URL initiale fonctionne, et donc ça peut poser des problèmes d'indexation, genre des duplicate content. Ce que tu peux faire dans 404.php, c'est une temporisation en JavaScript qui redirige le navigateur vers la page d'accueil au bout de 10 secondes, par exemple. Comme ça, les robots d'indexation ont bien reçu l'info que la page demandée n'existe pas, et que donc il faut retirer l'index et éventuellement remonter l'erreur dans les outils des webmestres. Et par ailleurs, le visiteur humain voit qu'il y a un pb mais finalement il aboutit sur la page qui t'intéresse.
Partager