htaccess URL Rewriting

Pour les questions sur le référencement, les moteurs de recherche, le SEO
Avatar du membre
webmaster
Administrateur du site
Messages : 616
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 29 sept. 2024, 15:29

"Je pensais qu'avec htaccess on pouvais modifier ou cacher certains caractères"

C'est tout à fait le principe. On cache le ? pour passer des paramètres
Par exemple

Code : Tout sélectionner

monsite.com/f2-laville.FR23
(sans le "?")

est compris par le serveur comme

Code : Tout sélectionner

monsite.com/ville.php?idville=f2-laville&code=FR23
Donc dans ville.php, on accede simplement au paramètre $_GET["idville"] et $_GET["code"] sans se préoccuper de la la structure de l'url publique
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 36
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 01 oct. 2024, 09:55

Bonjour Webmaster,

Merci pour la réponse

Effectivement lorsque l'on se dirige sur le fichier
affichagebienlocation/index.php
Mon code est :

Code : Tout sélectionner

if(isset($_POST['urlbien'] )) {
		$reference = substr($_POST['urlbien'], strrpos($_POST['urlbien'], '.' )+1)."\n";
		$reference = rtrim($reference);		
	}
Dans ma page Répertoire racine dans index.php j'ai ce code :

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='affichagebienlocation/?".$renvoi."' method='post'>";
														
			echo"<input type='hidden' name='urlbien' id='urlbien' value='".$renvoi."'>";
			$_SESSION['url'] = $renvoi;
			echo"<input id='detail' type='submit' class='envoiformulaire' value='Détail Bien' name='detail'/>";												
			echo "</form>";
monsite.com/ville.php?idville=f2-laville&code=FR23
la variable $renvoi est la concaténation de Titre+.+REFERENCE
en fait l'accès à mon autre page est :

Code : Tout sélectionner

http://monsite/affichagebienlocation/?f3-maville.DENF1B0202
monsite est le nom du site local et distant (ceci est un exemple) affichagebienlocation est mon répertoire et le fichier s'appelle index.php
f3-maville est le titre .DENF1B0202 est la référence

Ceci pour vous expliquer comment est construite mon URL et le chemin

si dans le fichier
index.php
à la racine du site je mets dans le formulaire :

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='affichagebienlocation/' method='post'>";
Cela fonctionne aussi mais je supprime dans l'url Titre.REFERENCE
ce qui donne pour l'URL

Code : Tout sélectionner

http://monsite/affichagebienlocation/
cela
Si cela peut vous éclaircir
Merci beaucoup

Avatar du membre
webmaster
Administrateur du site
Messages : 616
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 01 oct. 2024, 10:31

Ok, je comprends

On va essayer de faire le htaccess qui correspond

Donc, il faut créer un nouveau répertoire

Code : Tout sélectionner

bien-location
avec dedans un .htaccess :

Code : Tout sélectionner

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$						/affichagebienlocation/?$1 [QSA,L]
Les liens doivent tous etre faits vers

Code : Tout sélectionner

monsite/bien-location/f2-laville.FR23
Je pense que ca devrait fonctionner (meme si je ne peux pas tester)
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 36
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 01 oct. 2024, 14:12

Webmaster,
Merci de vouloir m'aider

Donc j'ai créer un répertoire
bien-location
dans lequel je mets le fichier qui est appelé qui s'appelle index.php

dans mon Htaccess je mets votre code :

Code : Tout sélectionner

RewriteRule ^(.*)$	/[b]affichagebienlocation[/b]/?$1 [QSA,L]	
petite question je ne suis plus dans le répertoire affichagebienlocation mais dans
bien-location
est-ce volontaire?
Mon erreur :
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at wampserver@wampserver.invalid to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.62 (Win64) PHP/8.3.10 mod_fcgid/2.3.10-dev Server at XXXXXXXXXXXX Port 80
Merci

Avatar du membre
webmaster
Administrateur du site
Messages : 616
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 02 oct. 2024, 12:19

Il faut recopier précisément mon htaccess
il n'y a pas de

Code : Tout sélectionner

RewriteRule ^(.*)$	/[b]affichagebienlocation[/b]/?$1 [QSA,L]	
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 36
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 03 oct. 2024, 11:04

Bonjour Webmaster,

Encore merci de m'aider

Je ne l'avais pas compris comme cela le code que vous m'avez fourni je le mettais dans le htaccess à la racine
Après votre retour j'ai crée un htaccess dans bien-location et je n'ai plus d'erreur
J'ai comme URL monsite/bien-location/?f2-belfort-centre.FR23G0101 mais toujours ce satané ?

Merci

Avatar du membre
webmaster
Administrateur du site
Messages : 616
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 03 oct. 2024, 11:37

Ce lien avec le ? est généré par votre code

monsite/bien-location/f2-belfort-centre.FR23G0101 sans le ? doit afficher la page correctement

Petit complement pour l'utilité d'une url embellie :
- optimiser le referencement des pages
- faciliter la lisibilité d'une url pour les visiteurs qui comprennent ainsi de quoi elle va parler
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Nanard90
Messages : 36
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 03 oct. 2024, 14:33

Oui effectivement ce ? est dans mon code

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='bien-location/[b]?[/b]".$renvoi."' method='post'>";
mais pour passer les paramètres je suis obligé de le mettre sinon j'ai une erreur

Code : Tout sélectionner

Not Found

The requested URL was not found on this server.
qui apparemment cherche la page

Code : Tout sélectionner

http://monsite/bien-location/[b]f3-belfort.DENF1B0202[/b]
qui ne trouve pas parce qu'elle n'existe pas ce qui existe physiquement c'est le répertoire bien-location qui contient le fichier index.php pour afficher le bien qui a été choisi par l'internaute (détail du bien)

et si dans ma page index.php qui se trouve à la racine je mets

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='affichagebienlocation/' method='post'>";
dans mon répertoire affichagebienlocation s'affiche une url propre mais sans monsite/affichagebienlocation/

Je pensais qu'avec un htaccess il était possible du supprimer les caractères spéciaux tel que ?

Merci

Nanard90
Messages : 36
Enregistré le : 30 déc. 2020, 13:26

Re: htaccess URL Rewriting

Message par Nanard90 » 03 oct. 2024, 15:49

Webmaster,

Après moultes essais voici ce que j'arrive à faire à l'heure actuelle (malgré vos recommandations antérieurs)
Répertoire : bien-location fichier htaccess :

Code : Tout sélectionner

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$	/affichagebienlocation/?$1 [QSA,L]
répertoire racine => index.php

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='bien-location/".$renvoi."' method='post'>";
sans ?
et voici mon URL embellie : monsite/bien-location/f2-belfort-centre.FR23G0101 il n'y a plus de ?
Dans votre code htaccess vous écrivez

Code : Tout sélectionner

RewriteRule ^(.*)$	/[b]affichagebienlocation[/b]/?$1 [QSA,L]
'bien-location étant le dossier qui a remplacé affichagebienlocation

Mais je vais techniquement dans le répertoire bien-location pouvez éclairer ma lanterne ? htaccess je maitrise parfaitement comme vous avez pût le voir :shock:
Un grand merci

Avatar du membre
webmaster
Administrateur du site
Messages : 616
Enregistré le : 28 févr. 2017, 15:19

Re: htaccess URL Rewriting

Message par webmaster » 03 oct. 2024, 15:55

bien-location est le répertoire qui sert à l'url embellie
affichagebienlocation est le répertoire technique qui contient le fichier de visualisation index.php

Si ca bloque encore, vous pouvez m'envoyer les fichiers par mail
olivier (a) toutjavascript.com
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre