Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je dispose d'un serveur dédié(Solaris+Apache2) ou j'ai entièrement refait la configuration Apache pour n'avoir que le strict nécessaire dans ce fichier que ce soit au niveau du serveur qu'en terme de sécurité et de protection contre les ddos, etc ..

Il me reste toujours un problème non réglé à ce jour que j'ai du mal à comprendre, la doc Apache semble être au courant de ce 'bug', mais je n'ai entrevu aucune solution pour solutionner ce souci.

Le pb :

http://www.dns.com/dossier1/ répond correctement

alors que :

http://www.dns.com/dossier1 génére une erreur 404

La seule différence entre ces deux URLs est la présence du "/" à la fin.

Quelqu'un a déjà t-il eu ce problème, sait d'ou il vient et aurait réussi à trouver une solution pour que Apache réponde correctement aux URLs sans / aussi ?

Merci pour vos réponses !

Posté

J'ai eu ça quand je testais un site en passant par l'adresse IP/~user, il fallait toujours que je termine le répertoire par /

Mais ça n'a été que temporaire, le temps ensuite que les DNS se mettent à jour, donc je n'ai pas cherché plus loin.

Posté

Salut Sid,

Il te manque manifestement un module : "mod_dir".

C'est lui qui ajoute le / lorsque le fichier demandé est un répertoire.

Toute l'info sur le site Apache.org à : http://httpd.apache.org/docs-2.0/mod/mod_dir.html

On y lit:

A "trailing slash" redirect is issued when the server receives a request for a URL http://servername/foo/dirname where dirname is a directory. Directories require a trailing slash, so mod_dir issues a redirect to http://servername/foo/dirname/.

Ca roule ? ;)

Dan

Posté

Hello Dan ! :P

Merci pour ta réponse, j'ai effectivement bien le mod_dir dans le core d'Apache puisque je l'ai compilé avec l'option permettant de mettre l'essentiel des modules dans le core.

Par contre, je vais étudier un peu plus la doc de ce module car malgré sa présence et son DirectorySlash On par défaut, je conserve toujours ce problème ...

Et a priori, je ne vois aucune autre chose qui pourrait générer ce problème ..

A part ca, tout va trés bien ;)

Sid

Posté

Salut Sid,

En attendant, tu peux mettre ceci en place:

RewriteCond  %{REQUEST_FILENAME}%  -d 
RewriteRule (.*)(/?)$  $1/ [L]

En clair, si le fichier demandé est un répertoire, on rajoute le / qui va bien après l'avoir supprimé s'il y était déjà :)

Posté

Merci pour le tips, ca semble être une excellente solution temporaire, voire permanente si je ne trouve pas la solution !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...