Version complète: sur le forum Webmaster Hub : Solution pour mes URL
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
Snowflake
Bonjour,

Je souhaite changer mes url qui sont actuellement en Query_String vers le Path_Info tout en conservant l'accès pour les gens qui trouvent mes anciens billets dans Google.

J'ai environs 700 billets sur mon blogue qui ont été édités en Query_String.

Voici un exemple réel : http://www.francoisrodrigue.com/blogstory/...empete-de-neige

Je souhaite obtenir quelque chose comme ceci : http://www.francoisrodrigue.com/blogstory/...empete-de-neige
Ce que j'ai déjà réussi à faire via l'interface admin de mon blogue.

ou encore mieux ceci :
http://www.francoisrodrigue.com/blogstory/...empete-de-neige


Le problème se situe au niveau des moteurs comme Google qui a indexé évidement l'url sous la forme Query_String et qui
perd toute référence quand je change à Path_Info.

Une règle de rewrite dans un .htaccess pourrais t-elle être une solution rapide, efficace et élégante?

Merci de votre aide.

François
http://www.francoisrodrigue.com/blogstory/
Snowflake
Ailleurs, on m'a suggéré ce code pour la règle de rewrite concernant le problème de mon message précédent... c'est bon?

CODE
Options -MultiViews -Indexes
ErrorDocument 404 /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
Snowflake
Ici encore, Victor Brito parle d'une autre méthode... décidément c'est rien d'évident!

CODE
#Le mode « path_info » n'étant disponible qu'en PHP 5 chez Nuxit,
#on déclare que les fichiers .php doivent être interprétés comme du PHP 5
AddHandler x-httpd-php5 .php
AddType application/x-httpd-php5 .php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dotclear/index.php
Snowflake
Bon je crois bien que ce code fera l'affaire si j'arrive à l'adapter à mon blogue qui roule dans un répertoire et non à la racine du site. Des idées pour l'adaptation?


CODE
RewriteEngine On

# cette partie permet aux anciens liens du type http://blog.domaine.com/?2004/07 d'etre traduits
RewriteCond %{QUERY_STRING} ^[0-9]{4} [OR]
RewriteCond %{QUERY_STRING} ^[A-Z][a-z]+
RewriteRule ^$ /%{QUERY_STRING}? [R=permanent,L]

# et ca c'est la regle classique pour les jolies URL
RewriteRule ^[0-9]{4} /index.php [QSA,L]
RewriteRule ^[A-Z][a-z]+ /index.php [QSA,L]


Snowflake
Bonjour,

Je souhaite changer les url de mon blogue qui sont actuellement en Query_String vers le Path_Info tout en conservant l'accès pour les gens qui trouvent mes anciens billets dans Google.

J'ai environs 700 billets sur mon blogue qui ont été édités en Query_String.

Voici un exemple réel : http://www.francoisrodrigue.com/blogstory/...empete-de-neige

Je souhaite obtenir quelque chose comme ceci : http://www.francoisrodrigue.com/blogstory/...empete-de-neige
Ce que j'ai déjà réussi à faire via l'interface admin de mon blogue en passant en Path_Info.

ou encore mieux ceci :
http://www.francoisrodrigue.com/blogstory/...empete-de-neige

Le problème se situe au niveau des moteurs comme Google qui a indexé évidement l'url sous la forme Query_String et qui
perd toute référence quand je change à Path_Info.

Une règle de rewrite dans un .htaccess pourrais t-elle être une solution rapide, efficace et élégante?

Merci de votre aide.

Voici la règle de rewrite que j'ai trouvé dernièrement et qui semble être la plus complète pour mes besoins.
Semble t-elle correct en syntaxe???


CODE
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /blogstory/index.php/$1
RewriteRule ^index.php$ blogstory/index.php/

RewriteCond %{QUERY_STRING} ^type=co$
RewriteRule ^rss\.php$ blogstory [NC,L,R=301]
RewriteRule ^atom\.php$ blogstory [NC,L,R=301]

RewriteRule ^atom\.php blogstory [NC,L,R=301]
RewriteRule ^rss\.php blogstory [NC,L,R=301]

# Pour permettre de reecrire index.php?/an/mois/jour/numero-titre-du-billet pour dc1
RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+.*)$
RewriteRule ^index.php http://www.francoisrodrigue.com/blogstory/%1? [R,L]
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.