URL Rewritting - Impossible à mettre en place

Nouveau WRInaute
Bonjour et merci de votre lecture,

Je fais suite au commentaire sur le tutoriel de l'URL Rewritting : https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting#comment-147793

Voilà le lien cliquable qui envoi vers ma page :

Code:
<a href="index.php?id=home&page=accueil.html"> <span style="color:#3D562A"> Accueil </span></a>

Voici le code PHP qui va générer mon content :

Code:
@$pageid = $_GET['id'];
@$pagep = $_GET['page'];
if (isset($_GET['id']) && isset($_GET['page'])) {
	include "inc/nav/$pageid/$pagep";
}

Voilà le contenu de mon .htaccess :

Code:
#---------------------------------
# Repertoire /inc/nav/home/
#---------------------------------

Options +FollowSymlinks
RewriteEngine on
#SetEnv REGISTER_GLOBALS 0

#---------------------------------
# Règles de réécriture d'URL
#---------------------------------

RewriteRule ^accueil.html$ index.php?id=home&page=accueil.html [L]

Donc j'aimerais réécrire mon url : http://localhost/site/index.php?id=home&page=accueil.html

En http://localhost/site/accueil.html

Et j'aimerais comprendre le fonctionnement des expressions régulière dans le htaccess, j'avoue que je suis complètement largués, dans le principe de base.

L'URL Rewritting fonctionne en localhost j'ai pus faire le test du tutoriel.

En vous remerciant,
 
Nouveau WRInaute
Je vais faire un autre essai en changeant l'arborescence et la requête php.

------------EDIT

Je comprend pas, quand j'envoie un lien dans mon URL le .htaccess avec RewriteRule est sensé prendre l'url et la rennomer c'est tout ?

Il change ce qui est affiché. Pas les valeurs qui agisse sur mon code non ? après la réecriture mon code php travail toujours avec les variables ou avec ce que le htaccess lui envoie ?
 
Nouveau WRInaute
Bref j'ai refait la navigation et le htaccess voilà ce que ça donne :

htaccess :
Code:
#---------------------------------
# Repertoire /inc/
#---------------------------------

Options +FollowSymlinks
RewriteEngine on
#SetEnv REGISTER_GLOBALS 0

#---------------------------------
# Règles de réécriture d'URL
#---------------------------------

RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ index.php?id=1&p=1 [L]

Le lien :

Code:
    	<tr><td><a href="index.php?id=1&p=1"> <span style="color:#3D562A"> Accueil </span></a></td></tr>

L'inclusion de la page non sécurisé pour le moment :
Code:
<?php 
@$pageid = $_GET['id'];
@$pagep = $_GET['p'];
if (isset($_GET['id']) && isset($_GET['p'])) {
	include "inc/article-$pageid-$pagep.html";
}
?>

Et ça marche toujours pas snif
 
Nouveau WRInaute
Ok pareil je bloc ><'

Ici j'envoie les informations vers mon url :
Code:
<a href="index.php?id=1&p=1"> <span style="color:#3D562A"> Accueil </span></a>


Ici je les récupère
Code:
list(, $id, $p) = explode('/',$_SERVER['PATH_INFO']);


Et la je les réecrie
Code:
RewriteRule ^(.+)$ index.php/$1 [L,QSA]
ou (les deux fonctionne pas)
Code:
#RewriteRule ^article-([0-9])-([0-9])\.html$ index.php?id=$1&p=$1 [L,QSA]

Rien de compliqué. /sifflote

Je n'arrive pas .. et je ne comprend pas, j'ai des messages d'erreur :
1.
Code:
 Undefined index: PATH_INFO in C:\wamp\www\site\index.php on line 57
2.
Code:
Notice: Undefined offset: 2 in C:\wamp\www\site\index.php on line 57
3.
Code:
Notice: Undefined offset: 1 in C:\wamp\www\site\index.php on line 57
 
Nouveau WRInaute
En faite je vais partir sur un CMS pour simplifié beaucoup d'aspect du développement ^^ je te remercie pour ta réponse, bonne continuation
 
Discussions similaires
Haut