Eviter les erreur en url_rewriting

Mammouth du PHP | 643 Messages

03 oct. 2017, 17:28

Salut tout le monde voilà j'essai de mettre au propre mon htaccess.

J'ai donc 2 régle pas grands chose me dirait vous mais j'aimerais être sur avant de lancer la chose :)

Mes regles:
# Activation du module de réécriture d'URL 
#RewriteBase /
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On

# -- Annonce / ville + titre + id  ( il y a un dossier annonce dans mon site )
RewriteRule ^annonce/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([0-9]+)\.html$  annonce.php?ville=$1&url=$2id=$3  [L]

# -- ville -------------------
RewriteRule ^sortie-ville-([a-z0-9-]+).html$ sortie.php?ville=$1

# -- Region -------------------
RewriteRule ^sortie-region-([a-z0-9-]+).html$ sortie.php?region=$1
1ère question est ce correct ?
la page sortie.php est placé à la racine de mon site et la page annonce.php dans le dossier annonce.

En testant en local je vois que si je m'amuse à renseigné n'importe dans l'url ça me renvoi sur la page quand même ( biensur aucun résultat ).

Exemple : je prends l'url
http://127.0.0.1/test/sortie-region-alsace.html ( ok )
http://127.0.0.1/test/sortie-region-monslipenfolie.html ( ca n'existe pas j'aimerais donc renvoyé sur une 404 )

Comment puis je m'y prendre svp
Merci à vous

Mammouth du PHP | 2703 Messages

03 oct. 2017, 17:51

c'est dans le php que cela se fait. si la requete sql ne retourne pas un résultat alors il faut ajouter :
header("HTTP/1.0 404 Not Found");

Mammouth du PHP | 643 Messages

03 oct. 2017, 19:14

Ok c'est juste une simple condition avec un count en gros et ca devrait faire l'affaire.
Est ce que ma syntaxe pour mon url rewriting vous semble correct.
Je n'aimerais pas perturbé les robots pour indexé mes pages quand même

Mammouth du PHP | 2703 Messages

03 oct. 2017, 19:38

il existe des villes qui ont un chiffre dans leur nom ? des régions ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

04 oct. 2017, 20:17

il existe des villes qui ont un chiffre dans leur nom ? des régions ?
Je viens de vérifier dans la base de l'INSEE, la réponse est non.
La seule exception est les n° d'arrondissement qui parfois sont notés dans le nom de la ville : "Paris 10ème" (valable pour Lyon et Marseille aussi)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 643 Messages

05 oct. 2017, 06:57

Effectivement j'ai bien les arrondiissement
Par contre sur ma premier régle avec annonce/

Ca ne marche pas.
Si je met la page annonce.php à la racine ça marche mais si je met ma page annonce.php dans mon dossier annonce, il ne la trouve pas