url rewriting

  • Auteur de la discussion Auteur de la discussion jjcc
  • Date de début Date de début
Nouveau WRInaute
bonjour
je désire passer mon site sous "url rewriting" c'est a dire la totalité (articles,forum,news,blog etc..)je fais mes essais avec le cms guppy en local sous wampp.j'ai lu plein d'articles et visité plein de forums mais il y a tellement de variétées de codes que je suis perdu.
pour ma part j'ai fait cela:
_dans mon htaccess

<Files ~ "^\.ht">

Order allow,deny

Deny from all

Satisfy All

</Files>

<Files ~ "^.*\.(inc|dtb)">

Order allow,deny

Deny from all

Satisfy all

</Files>

ErrorDocument 400 error.php?err=400

ErrorDocument 401 error.php?err=401

ErrorDocument 403 error.php?err=403

ErrorDocument 404 error.php?err=404

ErrorDocument 500 error.php?err=500

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^articles-([0-9a-zA-Z-]+)\.html$ /$1.php[L]


_et dans le regex

$uri = $_SERVER["REQUEST_URI"];
$var = strstr ($uri,'articles.php?lng');
if($var != FALSE)
{
header("Status: 301 Moved Permanently");
header("Location: ".$_SERVER['HTTP_HOST']."/article-$lng-$pg.html");
}


je bricole sur les articles pour le moment juste pour voir si cela fonctionne...sur mon site si j'ourvre le lien vers mon article4.php l'adresse s'affiche correctement:

http://localhost/Lien%20vers%20version4_6/localhost/article-fr-4.html

mais je me retrouve avec une erreur 404 (redirection je crois) j'ai beau chercher je ne trouve pas !!!!un coup de main ou une idée ?
merci
 
WRInaute accro
ta premiere erreur est ici >>
Lien%20vers%20version4_6
renome ton repertoire en >>
Lienversversion4_6
pas de %20 sinon ca plante

la deuxieme est le chemin, en local du dois lui mettre le path complet. Sous easyphp c'est comme ca et je pense que sous Wamp c'est idem. A confirmer!

Code:
ErrorDocument 400  Lienversversion4_6/error.php?err=400
RewriteRule ^articles-([0-9a-zA-Z-]+)\.html$ /Lienversversion4_6/$1.php[L]

et ce code va dans le header de tes pages php

Code:
$uri = $_SERVER["REQUEST_URI"];
$var = strstr ($uri,'articles.php?lng');
if($var != FALSE)
{
header("Status: 301 Moved Permanently");
header("Location: ".$_SERVER['HTTP_HOST']."/article-$lng-$pg.html");
}
 
Nouveau WRInaute
merci pour la réponse c'est sympa bon j'ai rectifié l'adresse et le lien maintenant est OK

http://localhost/Lienversversion4_6/localhost/article-fr-4.html

mais j'ai toujours mon erreur 404
une autre idée
merci
 
WRInaute accro
-http://localhost/Lienversversion4_6/localhost/article-fr-4.html

Questions:
Ton fichier sur lequel tu pointes s'apel :: fr-4.php ??
Puis as tu bien mis le path complet ?? voir code + bas

Code:
RewriteRule ^articles-([0-9a-zA-Z-]+)\.html$ /Lienversversion4_6/localhost/$1.php[L]
 
Nouveau WRInaute
re

j'ai mis cela

ErrorDocument 400 http://localhost/Lienversversion4_6/error.php?err=400

ErrorDocument 401 http://localhost/Lienversversion4_6/error.php?err=401

ErrorDocument 403 http://localhost/Lienversversion4_6/error.php?err=403

ErrorDocument 404 http://localhost/Lienversversion4_6/error.php?err=404

ErrorDocument 500 http://localhost/Lienversversion4_6/error.php?err=500

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^articles-([0-9a-zA-Z-]+)\.html$ /localhost/lienversversion4_6/$1.php[L]


une fois l'article ecrit je l'enregistre et il va se loguer dans le data sous la forme de:
doc5.inc
mais l'id de l'article et bien article5.php
mais avec cette formule (htaccess) j'ai cette erreur maintenant

http://localhost/Lienversversion4_6/err ... 101530_404

et en ouvrant ma page home(index) je me retrouve avec cette adresse :

http://localhost/Lienversversion4_6/index.php?lng=fr

c'est vraiment galère !!!!!!
une autre idée?
merci encore
 
Nouveau WRInaute
encore moi !!

etant en local j'ai modifié le regex qui se trouve dans le header de mon dossier "article.php"

header("Location: ".$_SERVER['HTTP_HOST']."/article-$lng-$pg.html");
qui devient
header("Location: ".$_SERVER['HTTP_LOCALHOST']."/article-$lng-$pg.html");

maintenant les articles s'ouvre mais avec l'url:

http://localhost/Lienversversion4_6/articles.php?lng=fr&pg=5

retour a la case départ!!!!je n'y comprend plus rien et vous ?
merci
 
WRInaute accro
je t'ai demandé sur quel fichier tu pointe ? tu ne me repond pas et apres tu parles de article5.php. Si c'est sur article(n).php que tu pointes

ton rewrite doit s'ecrire comme cela :

Code:
RewriteRule ^articles-fr-([^/]*)\.html$ /localhost/lienversversion4_6/article$1.php[L]
 
Nouveau WRInaute
dur dur

mon lien pointe bien sur un article (5).php
je viens de modifier mon htaccess et j'ai toujours cette url qui s'affiche
http://localhost/Lienversversion4_6/articles.php?lng=fr&pg=5
par contre les liens vers les articles s'ouvrent normalemant
complétement paumé le garçon :oops:
encore merci pour la patience!!!!!! :oops:
 
Nouveau WRInaute
c'est du délire

désolé je n'avais pas actualisé la page....le lien est correct maintenant:
http://localhost/article-fr-4.html
mais pour la page ?
The requested URL /article-fr-4.html was not found on this server.
article inconnu?
 
WRInaute accro
Le chemin de tes fichiers n'est pas clair.

Au debut tu donnes:
http://localhost/Lienversversion4_6/localhost/article-fr-4.html
puis ensuite
http://localhost/article-fr-4.html

Tout ca est bien confus. Essaye de clarifier
 
Nouveau WRInaute
bonsoir
oui maintenant j'ai cette url après la modif du rewrite que tu m'a donné plus haut quant j'ouvre cet article (id4)
http://localhost/article-fr-4.html
mais pour la page de cet article?j'ai cette erreur quant elle s'ouvre
The requested URL /article-fr-4.html was not found on this server.
a la place de mon article
 
Nouveau WRInaute
adresse

bonjour
je me demande s'il est obligatoire de mettre une regex dans mon fichier articles.php......n'est t-il pas possible de travailler uniquement avec le htaccess?
merci
 
Nouveau WRInaute
url

bonjour
bon je recommence a zéro....j'ai supprimé la regex de mon dossier "articles.php"et j'ai essayé un petit test a partir du "htaccess"qui marche...ma page s'affiche bien en "http://monsite/test.htlm"
j'ai donc repris l'url de l'un de mes articles

http://localhost/Lienversversion4_6/articles.php?lng=fr&pg=4

dans la barre de mon navigateur et j'ai ajouté dans mon "htaccess" ceci

RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L]<<<< pour mon test
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ articles.php?Ing=4=$1&pg=$2 [L]

mais bien sur cela ne marche pas !!! une idée
merci
 
WRInaute occasionnel
Bah ça semble logique...

Ceci : articles.php?lng=fr&pg=4
est différent de : articles.php?Ing=4=$1&pg=$2

- lng != Ing
- Ensuite tu dis que "Ing=4". 4 correspond à quoi ? C'est pas censé être "fr" ? Et juste après, tu rajoutes "=$1"...

Donc, dans le cas présent, peut-être qu'un truc dans ce genre là pourrait fonctionner :
Code:
RewriteRule ^article-([a-z]+)-([0-9]+)\.html$ articles.php?lng=$1&pg=$2 [L]

Ou sinon, essaie en ajoutant un slash avant articles.php :
Code:
RewriteRule ^article-([a-z]+)-([0-9]+)\.html$ /articles.php?lng=$1&pg=$2 [L]
 
Nouveau WRInaute
bonjour
non ça ne marche pas....mais j'ai un doute !!!!en faisant le test (htaccess+fichier htlm)cela fonctionne !! il faut peut etre que je crée un fichier htlm pour chaque articles?ou faire une modif dans chaque articles?je ne sais pas du tout....une idée
merci
 
WRInaute accro
En local, chez moi, chez lui, chez elle...ca fonctionne tres bien.. et chez toi aussi si tu fais bien attention au chemin de tes fichiers et a l'url que tu apel dans ton navigateur/

url de depart:
http://localhost/Lienversversion4_6/article-fr-25.html
avec
<a href="article-fr-25.html">lien</a>

url sur laquel tu pointes:
http://localhost/Lienversversion4_6/art ... ng=fr&pg=4

En local :
Code:
RewriteEngine on
RewriteRule ^article-([a-z]+)-([0-9]+)\.html$ /Lienversversion4_6/articles.php?Ing=$1&pg=$2 [L]

En ligne:
Code:
RewriteEngine on
RewriteRule ^article-([a-z]+)-([0-9]+)\.html$ /articles.php?Ing=$1&pg=$2 [L]
 
Nouveau WRInaute
re et merci
maintenant c'est ok pour l'affichage
http://localhost/Lienversversion4_6/adm ... -fr-4.html
mais j'ai ce message d'erreur sur ma page article
The requested URL /Lienversversion4_6/admin/article-fr-4.html was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

je verrais ce soir car je dois partir bosser

cela avance
 
WRInaute accro
et d'ou sort ce "admin/" ??
/Lienversversion4_6/admin/article-fr-4.html

Je te le repete depuis le debut de ce topic mais c'est sans compter qu'1 Koogar c'est infatigable :
"fais bien attention au chemin de tes fichiers"
stp
 
Nouveau WRInaute
hello
bon après une bonne nuit de repos c'est reparti (j'en connait un qui va s'arracher les cheveux)
je vais essayer d'etre clair !!!!

j'ai renomme mon article en "<a href="article-fr-4.html">rewriting</a>"

si je l'appele via mon lien dans mon navigateur j'ai cette adresse:

http://localhost/Lienversversion4_6/article-fr-4.html (correct)

mais j'ai également ce message a la place de mon article

Cette page n'existe pas !
Cela vient soit d'une erreur de votre part, soit du lien erroné qui pointe vers cette page.


en ajoutant "locahost" idem

le délire
 
WRInaute accro
re

et pour ton test, il fonctionne ?
Code:
RewriteRule ^nexistepas.html$ trouve.html [L]

<a href="nexistepas.html"> affiche bien la page trouve.html ??
 
Nouveau WRInaute
oui le test fonctionne mais en passant par cette adresse

http://localhost/Lienversversion4_6/nexistepas.html

je n'ai pas cree d'article pour luisur mon site de test.....uniquement un dossier "test" a la racine du site avec a l'intérieur le htacces et un fichier html
 
Nouveau WRInaute
le retour

bonjour
ayé ça marche.....comme quoi tout arrive.....pour l'instant sur un site test ici : http://jjcc.diboo.net/
maintenant je passe au gros morceau en croisant les doigts étant donne que ce n'est pas le meme hébergeur.merci a vous deux et surtout a Koogar pour sa patience.....
au fait mon htaccess est :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L] <<<<<pour le test
RewriteRule ^article-([fr]+)-([0-9]+)\.html$ articles.php?lng=$1&pg=$2 [L]


a bientot et merci
 
Nouveau WRInaute
coucou Koogar

re
bon chez un hébergeur (diboo) c'est ok (lien ci-dessus) et chez nuxit avec le meme htaccess cela ne marche pas ? pourtant apres test le rewriting est activé
une idée
merci
 
WRInaute occasionnel
Il y a parfois de petites différences entre les hébergeurs. Essaie en mettant un slash avant articles.php :
Code:
RewriteRule ^article-([fr]+)-([0-9]+)\.html$ /articles.php?lng=$1&pg=$2 [L]
 
Nouveau WRInaute
Re: rewriting

je viens d'essayer mais cela ne marche pas du moins mon article s'ouvre normalement mais avec cette adresse

http://autourdeguppy.nuxit.net/articles.php?lng=fr&pg=540

une autre idée
merci
 
WRInaute occasionnel
Essaie d'ajouter un RewriteBase / :
Code:
RewriteEngine On
RewriteBase /

Et si ça ne change rien, vois ce que ça donne comme ça :
Code:
RewriteRule ^article-fr-([0-9]+)\.html$ articles.php?lng=fr&pg=$1 [L]

ou avec le slash :
Code:
RewriteRule ^article-fr-([0-9]+)\.html$ /articles.php?lng=fr&pg=$1 [L]
 
Nouveau WRInaute
désolé cela ne donne rien le lien ne change pas!!!!!j'ai essayé de mon coté quelques codes mais nada....en desespoir de cause j'ai écrit chez nuxit mais je crois deja connaitre la réponse?reportez vous a cet article (que j'ai lu er relu dans tous les sens
je vais voir s'il y a une autre idée....en tous cas merci pour l'aide
 
Nouveau WRInaute
url

bonjour
j'ai encore besoin de vos lumieres....sur mon site essai l'url rewriting fonctionne sans couic mais je viens de m'appercevoir qu'en appelant mon article j'ai cette adresse:

http://jjcc.diboo.net/article-fr-3.html

jusque là tout va bien mais cet article a un nom et je voudrais avoir cette adresse plutot que celle du dessus:

http://jjcc.diboo.net/article-dans le blog.html........est-ce possible?
de meme que pour ma page d'accueil:

http://autourdeguppy.nuxit.net/index.php .......en
http://autourdeguppy.nuxit.net/accueil.html

en renomant mon lien j'ai l'erreur 404 donc je pense qu'il faut modifier le htaccess qui est ci-dessous

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L] <<<<<pour le test
RewriteRule ^article-([fr]+)-([0-9]+)\.html$ articles.php?lng=$1&pg=$2 [L]


encore merci pour l'aide
 
Nouveau WRInaute
url

bonjour
ayé cela fonctionne chez nuxit voir http://jjcc-test.nuxit.net/

pas de couic quant je crée un article et que j'enregistre en "article.php_id3"par exemple.le probleme est que j'utilise un fork dans mon dossier "articles.php" a partir duquel je crée mes articles et là cela se gate , l'article s'ouvre mais avec l'adresse : http://jjcc-test.nuxit.net/articles.php ... pg=3....je n'ai plus mon adresse en .html
ci joint le fork en question:

/// FORK AjouteMenu : Récupération des catégories

if ($mnu_include) {

list($mnu_code, $mnu_id, $mnu_item) = explode(".", $fieldd1);

if ($mnu_code == "am") {

AM_GetConfig($mnu_id, "mnucfg_");

if ($mnucfg_membres != '') {

$members[1] = 'on';

}

AM_ReadMenu($mnu_item, $mnu_id, "mnu_");

$fielda1 = $mnu_categ1;

$fielda2 = $mnu_categ2;

$fieldb1 = $mnu_titre1;

$fieldb2 = $mnu_titre2;

}

}

/// Fin FORK AjouteMenu : Récupération des catégories


je ne sais pas si cela peut aider ?mais je suppose qu'il faut que je modifie mon htaccess qui est :

ErrorDocument 400 /error.php?err=400

ErrorDocument 401 /error.php?err=401

ErrorDocument 403 /error.php?err=403

ErrorDocument 404 /error.php?err=404

ErrorDocument 500 /error.php?err=500

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L]
RewriteRule ^article-([fr]+)-([0-9]+)\.html$ /articles.php?lng=$mnu&pg=$2 [L]

une idée ?
merci
 
Nouveau WRInaute
bonjour
bon après bien des essais cela fonctionne impec maintenant !!!pratiquement tous les articles sont renommés a voir icihttp://autourdeguppy.nuxit.net/ il me reste du boulot pour passer le blog,les pages samples etc.....cela se fera au fur et a mesure....je passe juste pour remercier ceux qui m'ont aider a installer cette "url"et sans qui je n'aurais surement pas réussi
encore merci a tous (coucou!!!Koogar)
a bientot

ps:pour l'erreur (post au dessus)....le bon lien : article-fr-4.html
et non pas
<.a href="article-fr-4.html.">rewriting</a.>
...le fork n'a rien a voir dans le couic
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut