| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Ven Fév 22, 2008 17:22 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Bonjour.
après avoir mis en place avec succès mes 1es réécritures d'Url, en m'appuyant notamment sur cet excellent tuto http://www.webrankinfo.com/analyses/autres/mettre-en-place-url-rewriting.php,
je m'aperçois avec stupeur que j'escomptais un tout autre résultat.
Je pensais que le serveur allait me renvoyer ma page exemple.php?var=$1&var2=$2... avec une url réécrite (exemple-$1-$2.html par ex.).
Or c'est l'inverse. C'est en appelant exemple-$1-$2.html que j'affiche sa déclinaison php.
Donc si je veux que les moteurs et les clients lisent l'URL exemple-$1-$2.html au lieu de l'URL php, que dois-je mettre en place en sus d'un bon .htaccess ?
Ne suis-je donc qu'un sot?
Merci. |
|
| |
|
 |
mariea WRInaute passionné

Inscrit le: 06 Mai 2005 Messages: 605
|
Posté le : Ven Fév 22, 2008 18:02 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Le moteur de rewriting sert à extraire des variables (selon la ou les règles que tu définis dans le fichier .htaccess) à partir d'URL qui sont présentes dans ton site, et à les transmettre au module php sous forme de variables globales.
au lieu de placer des url encodées sous la forme peu lisible par les moteur de reherche exemple.php?var=$1&var2=$2
tu peux, une fois la regle mise en place, les écrire sous cette forme : exemple-1-2.html |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 3695 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Ven Fév 22, 2008 18:14 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Tu as du mal lire un truc ...
il faut que les liens de ton site soient :
| Code: |
<a href="exemple-$1-$2.html">lien</a>
|
Si c'est l'URL de ta page PHP qui est affichée, c'est qu'il y a un binz |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Ven Fév 22, 2008 18:21 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Ce qui implique notamment que je doive réécrire tous les liens internes du site au format html, après avoir mis en place les règles de réécriture?
Dans le cas d'un formulaire de recherche avec de multiples entrées par exemple, qui génère des pages à 7 variables et où les combinaisons de sortie sont innombrables, comment faire?
D'une manière générale je ne vois pas très bien comment effectuer la mise en place pour les pages dynamiques? Ce n'est pas la reecriture en soi qui me pose probleme, mais la mise en place globale.
Enfin, quid du pb de contenu dupliqué, lorsque GGBot indexera des pages dont il a déjà le contenu sous une autre URL?
Merci. |
|
| |
|
 |
nickargall WRInaute accro

Inscrit le: 13 Juin 2005 Messages: 3695 Localisation: Exilé au Groland à cause de Joe Dalton
|
Posté le : Ven Fév 22, 2008 18:26 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Alors :
Pour les pages issues des formulaire, pas de souci, les moteurs ne savent pas utiliser les formulaires.
Pour le reste, Oui, il te faudra ;
- modifier tous les liens du site au format "réécrit"
- mettre en place des redirections 301 des pages exemple.php?var=$1&var2=$2... vers les pages exemple-$1-$2.html pour éviter le duplicate content. |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Ven Fév 22, 2008 19:09 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
C'est beaucoup plus clair a présent, merci.
Dernier éclaircissement, mais au pire je retournerai fouiller dans les multiples topics qui semblent parler de ça.
Au sujet des redirects 301, si je termine ma RewriteRule ^test\.html$ /test.php par [R=301], c'est la page html qui est redirigée vers la page php et non l'inverse. Bigre.
ET même si on sort on peut du cadre de ce topic, Il doit bien y avoir une solution pour indexer et mettre a dispo des moteurs des urls réécrites a partir de ces pages générées par formulaire? Une piste? Sinon c'est un matériel de référencement fantastique qui est gaspille.
merci en tous cas pour vos réponses rapides et claires. Voila du forum comme on aime  |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1032 Localisation: Bouches-du-Rhône
|
Posté le : Ven Fév 22, 2008 19:32 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
En fait, tu veux le beurre et l'argent du beurre
Les pages html doivent etr einterpretées par des pages php
les pges php doivent etre récrites en html.
C'est possible, en utilisant un paramètre bidon en plus (merci webmasterlamogere...).
Par exemple si on a les pages exemple-par1-par2.html et exemple.php?var1=par1&var2=par2, tu peux utiliser les deux règles suivantes, de mémoire:
| Code: |
RewriteRule ^exemple-([^-]+)-([^-]+)\.html exemple.php?stop&var1=$1&var2=$2 [L]
RewriteCond %{QUERY_STRING} ^var1=(.*)&var2=(.*)$
RewriteRule exemple\.php exemple-%1-%2.html? [R=301,L]
|
La premiere doit correspondre plus ou moins a ce que tu fais déjà. La deuxième est une redirection externe des php vers les html. Ca permet d'indexer les html au lieu des php dans les moteurs.
Edit: j'ai changé de place le parametre stop |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Ven Fév 22, 2008 23:06 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Merci pour l'argent du beurre
Je testerai dans le w-end, avant de revenir poster le résultat des courses. |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Dim Juil 20, 2008 1:46 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Bonjour. Happé par d'autres projets en cours, j'avais laissé ce sujet en plan, mais pas oublié!
En effet, super le tuyau de redirect permanent:
| Code: |
#RewriteRule ^([0-9]+)-biathlon-handisport-([^/]+)$ /actus.php?stop&num=$1&titre=$2 [L]
#RewriteCond %{QUERY_STRING} ^num=(.*)&titre=(.*)$
#RewriteRule actus\.php http://www.monsite.fr/%1-biathlon-handisport-%2? [R=301,L]
|
Je poste ce up pour ce qui suit, car là, oh stupeur, ça ne marche plus, ça fait à peu près 69 fois que je vérifie la similitude du code, mais NADA, la redirection ne s'effectue pas quand je saisis l'URL dynamique?!
| Code: |
RewriteRule ^/page,([0-9]+)$ /index.php?stop&page=$1 [L]
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule index\.php http://www.monsite.fr/zenphoto/page,%1? [R=301,L]
|
WRInautes éclairés, ne me laissez pas dans mon obscure ignorance. |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1032 Localisation: Bouches-du-Rhône
|
Posté le : Lun Juil 21, 2008 9:18 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Tu as mis un / de trop au début de ta première règle ...
Essaie ça:
| Code: |
RewriteRule ^page,([0-9]+)$ /index.php?stop&page=$1 [L]
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule index\.php http://www.monsite.fr/zenphoto/page,%1? [R=301,L]
|
|
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Lun Juil 21, 2008 10:15 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Hello Vap merci pour ta réponse
Non si j'enlève ce / je me retrouve à un mauvais niveau d'arborescence et je perds tous les liens vers les css et les js.
La 1e règle fonctionne d'ailleurs bien:
| Code: |
| RewriteRule ^/page,([0-9]+)$ /index.php?stop&page=$1 [L] |
C'est le redirect permanent qui ne marche pas:
| Code: |
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule index\.php http://www.monsite.fr/zenphoto/page,%1? [R=301,L] |
J'ai bien mis le stop de lamogère dans la rewriteRule, j'ai vérifié le RewriteCond...
Pourtant si la condition était vérifiée il devrait se passer qq chose, même mal? |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1032 Localisation: Bouches-du-Rhône
|
Posté le : Lun Juil 21, 2008 11:06 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Ta page index.php est à la racine?
Essaie d'enlever tout sauf ce qui suit pour tester cette règle:
| Code: |
RewriteRule index\.php http://www.monsite.fr/zenphoto/page? [R=301,L]
|
Si tu entres -http://www.monsite.fr/index.php l'adresse doit etre changée en -http://www.monsite.fr/zenphoto/page
Ensuite tu met la règle complete:
| Code: |
RewriteCond %{QUERY_STRING} ^page=(.*)$
RewriteRule index\.php http://www.monsite.fr/zenphoto/page,%1? [R=301,L]
|
Si tu entres -http://www.monsite.fr/index.php?page=1 l'adresse doit etre changée en -http://www.monsite.fr/zenphoto/page,1 |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Lun Juil 21, 2008 14:09 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Non, c'est l' index.php du répertoire /zenphoto/ et j'ai un RewriteBase /zenphoto
pour y voir plus clair voici l'intégralité du .htaccess
| Code: |
# répertoire zenphoto
RewriteEngine On
RewriteBase /zenphoto
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule ^.*$ - [R,L]
RewriteRule ^admin/?$ zen/admin.php [R,L]
#règle citée dans le topic, seule la 1e ligne fonctionne:
#RewriteRule ^/page,([0-9]+)$ /index.php?stop&page=$1 [L,QSA]
#RewriteCond %{QUERY_STRING} ^page=(.*)$
#RewriteRule /index\.php /page,%1? [R=301,L]
#ou, ce qui revient au même que ci-dessus, ici c'est la 3e ligne qui fonctionne:
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$
RewriteRule ^index\.php$ /page,%1? [R=301,L]
RewriteRule ^/page,([0-9]+)$ /index.php?page=$1&rw [L,QSA]
#idem, seule la 1e ligne fonctionne
RewriteRule ^([^/]+)/?$ index.php?stop&album=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^album=(.*)$
RewriteRule index\.php http://www.objectif-vancouver-2010.fr/zenphoto/%1/? [R=301,L]
#celle-ci n'a pas encore son R=301
RewriteRule ^([^/]+),page,([0-9]+)?$ index.php?album=$1&page=$2 [L,QSA] |
Merci |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1032 Localisation: Bouches-du-Rhône
|
Posté le : Lun Juil 21, 2008 14:30 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
Tu as mis un RewriteBase /zenphoto ou RewriteBase /zenphoto/ ?
En principe, les répertoires finissent par / dans apache.
Si tu n'a pas mis le / à la fin, je comprend qu'il faille que tu le mette au début de chaque règle...
Le .htaccess que tu as mis est a la racine, ou dans /zenphoto/ ? |
|
| |
|
 |
raoux Nouveau WRInaute
Inscrit le: 04 Juil 2006 Messages: 18
|
Posté le : Lun Juil 21, 2008 14:41 Sujet du message: eclairage sur les principes de l'url rewriting |
|
|
J'ai mis RewriteBase /zenphoto
Le .htaccess est dans /zenphoto/
LOgik ton commentaire sur les /
je mets ça au propre de suite |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|