Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Pages: 1
Bonsoir à tous,
Je tente de créer une page personnalisée pour l'erreur 404 (NOT FOUND).
Je procède comme suit :
Dans http.conf j'ai la directive
AccessFileName .htaccess
J'ai créé un fichier .htaccess à la racine du site qui contient
Options +FallowSymlinks RewriteEngine on ErrorDocument 404 /not_found.html
J'ai, bien sur créé la page not_found.html à la racine du site aussi.
Si je donne une page qui n'existe pas, Exp. http://localhost/une_page.html, (Bien sur une_page.html, n'existe pas) j'ai toujours la fameuse page d'Apache
Merci d'avance de votre aide !
Hors ligne
Salut,
Et en mettant plutôt
FollowSymlinks
avec la lettre o ??
Mais ce que je comprends pas, c'est pourquoi tu mets ça :
Options +FollowSymlinks RewriteEngine on
qui sert à l'url rewriting, et autorise Apache à suivre les liens.
Le contenu du fichier .htaccess peut contenir une seule ligne de type :
ErrorDocument 404 /404.htm
Et bien mettre 404.htm à la racine du site.
T'as quoi dans ton apache error log ?
@+
lenono
Dernière modification par lenono (08-09-2006 03:30:04)
Hors ligne
Bonjour lenono,
Tou d'abord, Merci pour ta réponse!
Effectivement j'avais dans le fichier 'FollowSymlinks' et non 'FallowSymlinks'.
Les deux lignes
Options +FollowSymlinks RewriteEngine on
sont là parce que au départ ce que je voulais faire c'estait une redirection de page (pour un autre besoin) et comme ça ne marchait pas non plus, pour vérifier si une autre directive fonctionnait, j'ai pris celle qui me semblait la plus simple (Err 404)
A la fin du fichier '/var/log/httpd/error_log', j'ai
[Thu Sep 07 23:38:02 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico, referer: http://localhost/test/inconnu.html [Thu Sep 07 23:38:12 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/test/inconnu.html [Thu Sep 07 23:39:40 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/test/inconnu.html [Thu Sep 07 23:39:43 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/test/inconnu.html [Thu Sep 07 23:39:43 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/favicon.ico, referer: http://localhost/test/inconnu.html
L'ensemble de lignes se répète plusieurs fois (je suppose que c'est le nombre de tentatives)
Merci pour ton aide.
Hors ligne
Bon....
D'abord tu vires le Options +FollowSymlinks du .htaccess, il a rien à faire là !
C'est une option du httpd.con (fichier de config de apache.
Ensuite, au lieu d'appeler la page
http://localhost/test/inconnu.html
, appelle la page
http://localhost/inconnu.html
avec not_found.html sous /var/www/html
Et puis tu nous dis ce que ça donne.
PS : oublies pas de faire un restart de apache, genre
apachectl restart
Hors ligne
J'ai fais comme tu demandes, mais le résultat est le même.
Manquerait-il des directives dans /etc/httpd/conf/httpd.conf ?
Pour info, fin du fichier '/var/log/httpd/error_log'
[Fri Sep 08 14:42:47 2006] [notice] SIGHUP received. Attempting to restart [Fri Sep 08 14:42:47 2006] [notice] Digest: generating secret for digest authentication ... [Fri Sep 08 14:42:47 2006] [notice] Digest: done [Fri Sep 08 14:42:47 2006] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads. [Fri Sep 08 14:42:47 2006] [notice] Apache/2.2.2 (Fedora) configured -- resuming normal operations [Fri Sep 08 14:43:06 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/inconnu.html [Fri Sep 08 14:43:10 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/inconnu.html [Fri Sep 08 14:43:42 2006] [notice] caught SIGTERM, shutting down [Fri Sep 08 14:43:44 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Fri Sep 08 14:43:44 2006] [notice] Digest: generating secret for digest authentication ... [Fri Sep 08 14:43:44 2006] [notice] Digest: done [Fri Sep 08 14:43:44 2006] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads. [Fri Sep 08 14:43:44 2006] [notice] Apache/2.2.2 (Fedora) configured -- resuming normal operations [Fri Sep 08 14:43:56 2006] [error] [client 127.0.0.1] File does not exist: /var/www/html/inconnu.html
Hors ligne
Comme t'es sous linux, faudrait vérifier les droits sur le fichier...
Qui est propriétaire du process httpd, et quels sont les permissions sur .htaccess.
Aprés ça, je vois pas ce qui pourrait cafouiller !
Hors ligne
Pour les process:
[root@lnx-srv ~]# ps -aef | grep httpd root 2252 1 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2311 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2312 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2313 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2314 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2315 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2316 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2317 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd apache 2318 2252 0 17:25 ? 00:00:00 /usr/sbin/httpd root 2890 2715 0 17:34 pts/1 00:00:00 grep httpd
Pour les droits du fichier .htaccess:
[root@lnx-srv ~]# ll -a /var/www/html/.htaccess -rw-r--r-- 1 root root 33 sep 8 17:19 /var/www/html/.htaccess
Hors ligne
ben voilà !
T'as créé ton .htaccess en root, donc apache peut pas le traiter !
Ahhhhhh !
Regle 1 : jamais se connecter en root sur un linux ou unix !
regle 2 : toujours respecter regle 1
root = racine
apache = groupe créé lors du install du package...
Maintenant, il te reste à faire un man chgrp et chown ou chgrp -h et chown -h
@+
et tiens nous au courant...
lenono
Dernière modification par lenono (08-09-2006 15:00:30)
Hors ligne
Re,
J'ai changé les droits
[root@lnx-srv html]# chown apache:apache .htaccess [root@lnx-srv html]# ll -a ./.htaccess -rw-r--r-- 1 apache apache 33 sep 8 17:19 ./.htaccess [root@lnx-srv html]# apachectl restart [root@lnx-srv html]#
Mais rien n'a chagé.
Y-orait-il pas un PB de allow, deny ou quelque chose du style ?
Hors ligne
Re,
C'est bon, j'ai trouvé!
Le PB était dans le fichier de configuration générale '/etc/http/conf/http.conf', il contenait (Valeur de l'install)
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride none
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>J'ai juste modifié la ligne
AllowOverride none
par
AllowOverride All
et ça fonctionne correctement.
Parcontre je ne sais pas les incidences au niveau sécurité. Si QQ peut me donner des infos, je suis prenneur.
Merci à toi lenono, sympa d'avoir essayé de m'aider!
Hors ligne
Re,
Je pense que la directive
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>devrait empêcher ça, mais par précaution, je l'essaye.
Effectivement, j'ai un Forbidden
Hors ligne
Encore merci à toi!
Je pense que je ne tarderais pas à poser de novelles questions, (Les réseaux c'est pas mon fort) et là je vais m'attaquer à la création d'un DNS.
@BT
Hors ligne
Pages: 1