À la place de réinventer la roue à chaque fois, il existe des routeur php déjà fait et qui marche très bien.
Sinon, tu peux utiliser la variable $_SERVER qui te donnera l'url. Tu n'aura ensuite qu'à faire quelques manip et d'injecter le résultat où tu en a besoin.
Autodidacte, j'essaye d'apprendre le pourquoi du comment :)
Le problème de viens pas du routeur mais de la configuration htacces.
je ne comprend pas pourquoi il interprète les fichiers alors qu’il y a le REQUEST_FILENAME !-f et -d
Le but est que htacces ne laisse passer que le fichier index.php et que pour tous les autres il retourne en variable le fichier demandé. De plus avec la redirection de http -> https si besoin.
Pour l’heure, la redirection fonctionne (http -> https),
Le traitement des url tel : « monsite.fr/un-sujet-a-lire » fonctionne très bien,
mais je peut quand même avoir accès a mes fichier par l’url: « monsite.fr/voirSujet.php?url=un-sujet-a-lire », et ca, je ne veut plus. C’est la que mon problème se trouve.
Donc vraiment pas une configuration php mais bien le traitement de htacces qui ne fonctionne pas comme il devrait.
PS pour les routeurs qui existent déjà, je suis au courant mais j’ai préféré créer le mien qui est très léger en ressources. Juste 3 ‘case’ et 3 requires
un ‘case’ pour le fichier sitemap.xml, un ‘case’ pour le fichier robot.txt et un ‘case’ avec require variable URL qui viens d’une BDD mysql pour convertir les liens type ‘un-sujet-a-lire’ En voirSujet.php?id=123456789.
Merci quand même de votre réponse.
Savoir que l'on est bête est déjà très intélligent.
En effet la redirection .be et .fr est beaucoup plus propre comme cela.
Par contre: RewriteCond %{REQUEST_URI} !\.(php)$ n'avait visiblement aucuns effets car je pouvais (avant de l'enlever) et je peux toujours (après l'avoir enlevé) accéder à /mapage.php
Y a t'il une raison? Dois-je changer l'extension de fichier.php en fichier.apl par facilité ?
D'avance merci
Savoir que l'on est bête est déjà très intélligent.
> Le problème est que il laisse passer toutes les pages .html et .php alors qu'il devrait les renvoyer au routeur php avec la variable $url=mapage.php
> Par contre: RewriteCond %{REQUEST_URI} !.(php)$ n'avait visiblement aucuns effets car je pouvais (avant de l'enlever) et je peux toujours (après l'avoir enlevé) accéder à /mapage.php
C'est moi ou ça se contredit ? A moins que tu ne parles de fichiers qui existent physiquement dans un cas et pas dans l'autre ?
> je peux toujours [...] accéder à /mapage.php
S'il existe physiquement, c'est normal à cause de tes RewriteCond (RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d) qui excluent justement ce qui correspond à des fichiers ou dossiers.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli