[Résolu] Erreur 404 lors de l'accès à mon site

Quelque chose ne fonctionne pas alors qu'il vous semble que le soucis ne vient pas de vous ? Vous avez des questions sur nos services et vous pensez que vos préoccupation peuvent intéresser d'autres hébergés ? N'hésitez pas à nous contacter.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

electronic100 a écrit :Ce que je ne comprend pas c'est que cela à toujours fonctionné ainsi.
En informatique, lorsque quelque chose fonctionne, ce n'est pas forcement que c'est bien fait :)

Il y a également une question d'optimisation : lorsque l'on fait quelque chose d'inutile en lançant un traitement de réécriture d'URL qui au final aboutit à du "rien", le serveur Web n'est pas obligé de reprendre la main comme si rien ne s'était passé juste avant :) Certain hébergeurs/développeurs ont du en avoir un peu marre de cette charge inutile ;)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Electronic100
Messages : 174
Inscription : 13 avril 2012 à 20:53

Merci Élodie,

Je viens d'ajouter la ligne de condition sur le site cerny.develop.franceserv.fr et cela fonctionne en effet. [s]Mais j'ai remarquer et c'est valable pour les deux site que si quelqu'un essaye d'acceder au site en tapant les www il y'a une 404.
[/s]

Edit : l'erreur ne se produit plus ;)
Élodie a écrit :En informatique, lorsque quelque chose fonctionne, ce n'est pas forcement que c'est bien fait :)
Je suis d'accord avec toi, c'est vrai que mes script JS fonctionne mais ne sont pas bien fait non plus. ;)
Et en plus vu que les systèmes informatique sont assez capricieux, cela peux fonctionner pendant 5 minutes et les 5 minutes suivante déclencher toutes les erreurs possible et imaginables :).

Encore merci Élodie de m'avoir aidé :)
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

electronic100 a écrit :Mais j'ai remarquer et c'est valable pour les deux site que si quelqu'un essaye d'acceder au site en tapant les www il y'a une 404.
Vos règles de réécriture sont à réécriture ...

Vous mettez ceci :

Code : Tout sélectionner

RewriteRule ^([a-z]*)$   /eco/$1.php [L]
Ça signifie que pour tout ce qui est saisie ou même si c'est vide, ça redirige vers une page "/eco/$1.php". Si c'est vide ça redirige vers "/eco/.php" qui n'existe pas d'où la page introuvable.

Remplacez alors :

Code : Tout sélectionner

RewriteRule ^([a-z]*)$   /eco/$1.php [L]
par quelque chose de ce genre là (je ne suis plus certaine de la règle de réécriture d'URL) :

Code : Tout sélectionner

RewriteRule ^([a-z]{1;})$   /eco/$1.php [L]
Pour dire au moins 1 fois ou plusieurs fois, car * signifie plusieurs fois ou vide.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

C'est du développement maintenant :)

En regex : https://fr.wikipedia.org/wiki/Expression_rationnelle

* : 0 ou plus de l’atome qui précède

Mettez alors :

+ : 1 ou plus de l’atome qui précède

Car le quantificateur borné permet plus de choses (du coup c'est pas optimisé = usine à gaz) :

{m,n} : quantificateur borné pour au moins m et au plus n occurrences de ce qui précède.

Utilisez alors le + pour dire au moins 1 pour ne pas rediriger du vide (0) vers du "rien" avec * :)

PS : Je précise que votre développement n'était pas correct avant la mise à jour du serveur. Vous avez mis un "patch" pour rediriger du vide vers le DocumentRoot mais cette ligne maladroite (et inutile) vous a permis d'éviter l'autre bug qui survient seulement aujourd'hui. Il faut mettre + au lieu de * lorsque c'est au moins 1 :)
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Electronic100
Messages : 174
Inscription : 13 avril 2012 à 20:53

J'ai utiliser + sur le site http://eco-bio-lavage.net, pas d'erreur 404 lors de l'acces au site, mais une erreur 404 sur les pages si je ne met pas les www.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7938
Inscription : 2 avril 2010 à 20:14

electronic100 a écrit :J'ai utiliser + sur le site http://eco-bio-lavage.net, pas d'erreur 404 lors de l'acces au site, mais une erreur 404 sur les pages si je ne met pas les www.
Oui car votre condition demande obligatoirement le www :

Code : Tout sélectionner

RewriteCond %{HTTP_HOST} ^www.eco-bio-lavage\.net$
Mettez alors le www en condition : 0 ou 1 fois.

Ça devrai s'écrire je crois ainsi : (www\.)?
Wikipedia a écrit :? : 0 ou l’atome qui précède
Je vous invite à relire les expressions régulières pour les utiliser correctement :)

https://fr.wikipedia.org/wiki/Expression_rationnelle

PS. Mettez "\." au lieu de "." car "." signifie tout caractère :
Wikipedia a écrit :. : n’importe quel caractère unique
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Electronic100
Messages : 174
Inscription : 13 avril 2012 à 20:53

Re,

J'ai enlevé la ligne de condition et cela fonctionne correctement ;).

Encore merci
@+
Répondre