Bonjour à tous !

Je viens à vous car je ne comprend pas une chose dans le passage de variable en $_GET

Ce que je veux faire c'est mettre en place un htaccess qui va me renvoyer automatiquement ce qui ce trouve après le nom de domaine en $_GET

Donc j'ai fait ceci : (index.php)

<?php
var_dump($_GET);
?>

Chouette hein ?

Voilà mon htaccess

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9a-zA-Z-_.\/]*)$   index.php?url=$1    [L]

Et le résultat que j'ai avec "domainelocal/" ou avec "domainelocal/zljbzclnbn" (peut importe ce que je met en fait)

j'ai un get comme ceci

array (size=1)
  'url' => string 'index.php' (length=9)

Ce que je ne comprend pas c'est pourquoi il me met le nom de ma page et pas ce qu'il y a dans mon "$1"
C'est un problème de htaccess je suppose ? ou de regex ? ou ???

Surement une bête erreur que je ne voit pas en étant plongé dedans.
Je ne comprend pas bien. Je vous remercie par avance pour votre aide.

Amoureusement,
Moi

2 réponses


Balsakup
Réponse acceptée

Salut,

C'est un problème de .htaccess, la tu rediriges tout, quand tu appeles une url vide tu appelles index.php, et c'est ce qui se passe ici, c'est pour cela que ca te retourne index.php.

Dans le tuto de Grafikart du router y'a un bon exemple basic de .htaccess
https://www.grafikart.fr/tutoriels/php/router-628

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f va empécher d'appliquer les redirections aux fichiers

KevinTss
Auteur

C'est exactement ça !

Merci beaucoup, je cherchais au mauvais endroit, même si je t'avoue que je ne comprend pas trop ton explication

"la tu rediriges tout, quand tu appeles une url vide tu appelles index.php"

Si tu as 2 minutes pour développer ce serait simpa :)

En attendant mon problème est résolut merci bien !