Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2009-05-07 10:51:30

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

[Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Bonjour,

Après avoir cherché (beaucoup) et pas trouvé (du tout), je fini par poser la question ici.

Sur mon ancien blog, les URL des billets étaient de cette forme :

http://franck.paul.free.fr/dotclear/?2004/10/08/1283-titre-du-billet

J'ai également un RedirectPermanent là-bas qui renvoie directement vers mon nouveau domaine (http://open-time.net).

Je souhaiterais, rediriger les anciennes URL des billets vers la nouvelle forme, à savoir en virant le ? et en rajoutant le contexte (/post/) pour obtenir, en reprenant l'exemple ci-dessus :

http://open-time.net/post/2004/10/08/1283-titre-du-billet

Pour l'instant mon .htaccess ressemble à ça (histoire de virer le index.php) :

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

Quelqu'un saurait quelle RewriteRule je devrais ajouter pour gérer la transformation d'URL ?

J'avais pensé à un :

RewriteRule ^?200(.*)$ index.php/post/200$1

Mais visiblement ça n'est pas une bonne idée. Vous en avez de meilleures ?

PS : Le plugin DC1Redirect est installé et actif sur le blog.


Dotclear addicted since 2004

Hors ligne

#2 2009-05-07 11:38:35

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Perso je ferais la redirection à partir du site de free et si ce n'est pas possible via htaccess alors le faire en php en s'inspirant du code de dc1redirect. Il faut donc enlever le redirect permanent. ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#3 2009-05-07 11:49:32

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Euh y'a pas plus simple ? J'ai pas trop envie de me refader du code juste pour ça !


Dotclear addicted since 2004

Hors ligne

#4 2009-05-07 11:49:59

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Je précise que l'ancien blog chez Free est un blog DC1


Dotclear addicted since 2004

Hors ligne

#5 2009-05-07 12:14:30

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Programmer? Non, c'est au cas où free limiterait les htaccess ;-)

Tu as essayé les redirectmatch?


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#6 2009-05-07 12:53:02

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Je ne suis pas sûr qu'on ai le droit à autre chose qu'un RedirectPermanent chez Free, ce que j'ai mis en place d'ailleurs.

M'en vais regarder de quoi ça cause le RedirectMatch …


Dotclear addicted since 2004

Hors ligne

#7 2009-05-07 12:54:47

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Nan, apparemment ça ne sert pas à ça.

Si quelqu'un a une solution qu'il parle ou se taise … Mékeskidi hein ?


Dotclear addicted since 2004

Hors ligne

#8 2009-05-07 13:09:01

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Dans le plugin dc1redirect essyaye de changer ces lignes :

core->url->register('redir_post','','^(\d{4}/\d{2}/\d{2}/\d+.+)$',array('dcUrlRedirect','redir_post'));
19	$core->url->register('redir_category','','^([A-Z]+[A-Za-z0-9_-]*)/?$',array('dcUrlRedirect','redir_category'));
20	
21	if ($core->plugins->moduleExists('dayMode') && $core->blog->settings->daymode_active) {
22	     $archive_pattern = '^(\d{4}/\d{2}(/\d{2})?)/?$';
23	} else {
24	     $archive_pattern = '^(\d{4}/\d{2})(?:/\d{2})?/?$';
25	}

Par :

core->url->register('redir_post','','^?(d{4}/\d{2}/\d{2}/\d+.+)$',array('dcUrlRedirect','redir_post'));
19	$core->url->register('redir_category','','^([A-Z]+[A-Za-z0-9_-]*)/?$',array('dcUrlRedirect','redir_category'));
20	
21	if ($core->plugins->moduleExists('dayMode') && $core->blog->settings->daymode_active) {
22	     $archive_pattern = '^?(d{4}/\d{2}(/\d{2})?)/?$';
23	} else {
24	     $archive_pattern = '^?(d{4}/\d{2})(?:/\d{2})?/?$';
25	}

«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#9 2009-05-07 13:22:04

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Ah ztu j'ai oublié la modif pour le redire_category…

19	$core->url->register('redir_category','','^?([A-Z]+[A-Za-z0-9_-]*)/?$',array('dcUrlRedirect','redir_category'));

«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#10 2009-05-07 13:29:16

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Pas mieux, voir http://open-time.net/?2008/07/17/1528-faire-part qui est un exemple d'URL à l'ancienne


Dotclear addicted since 2004

Hors ligne

#11 2009-05-07 13:31:20

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Une question le ? en plus, faut pas l'échapper des fois ? Spa un caractère réservé ?


Dotclear addicted since 2004

Hors ligne

#12 2009-05-07 13:37:35

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Peut-être oui, essaye avec backslah devant…


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#13 2009-05-07 13:41:23

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Bah peut-être que oui mais ça ne change rien au problème.


Dotclear addicted since 2004

Hors ligne

#14 2009-05-07 13:42:28

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Pour résumer, j'ai ça :

http://open-time.net/?2008/07/17/1528-faire-part

que je voudrais voir transformé en ça (qui fonctionne très bien) :

http://open-time.net/post/2008/07/17/1528-faire-part

Dotclear addicted since 2004

Hors ligne

#15 2009-05-07 14:39:03

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Je tenterais avec ça :

RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+.*)$ 
RewriteRule ^index.php http://open-time.net/post/%1 [R,L]

et si ça marche je crois qu'il faut traiter les catégories et les archives aussi :

RewriteCond %{QUERY_STRING} ^([A-Z][a-z]+.*)$
RewriteRule ^index.php http://open-time.net/category/%1 [R,L]

# mois
RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2})$
RewriteRule ^index.php http://open-time.net/archive/%1 [R,L]

Hors ligne

#16 2009-05-07 15:08:21

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Gloups, spa encore ça mais y'a du mieux ;-)

Je me retrouve avec ça :

http://open-time.net/post/2008/07/17/1528-faire-part?2008/07/17/1528-faire-part

Vala mon .htaccess :

RewriteEngine on

RewriteBase /

RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+.*)$ 
RewriteRule ^index.php http://open-time.net/post/%1 [R,L]

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

Dotclear addicted since 2004

Hors ligne

#17 2009-05-07 16:00:46

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Argh, et sans le %1 ?

RewriteCond %{QUERY_STRING} ^([0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]+.*)$ 
RewriteRule ^index.php http://open-time.net/post/ [R,L]

Dernière modification par Philippe (2009-05-07 16:01:12)

Hors ligne

#18 2009-05-07 16:22:09

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Je vais essayer, mais en tout cas, en mettant un $1 à la place du %1 on obtient cette URL :

http://open-time.net/post/?2008/07/17/1528-faire-part

Plus que le ? a faire sauter et ça sera super \o/


Dotclear addicted since 2004

Hors ligne

#19 2009-05-07 16:38:23

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

On a trouvé (j'ai de l'aide précieuse à côté de moi) :

RewriteRule ^index.php http://open-time.net/post/%{QUERY_STRING}? [R=301,L]

Ça provient d'ici : http://www.think-underground.com/post/2 … ns-douleur


Dotclear addicted since 2004

Hors ligne

#20 2009-05-07 18:10:11

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Il y a toujours un problème avec les catégories…


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#21 2009-05-07 20:50:16

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Je fais l'impasse sur les catégories car ça m'étonnerais que celles-ci soient référencées à l'extérieur de l'ancien blog. J'ai le traitement actif pour les billets et les flux RSS et Atom (billets et commentaires) ce qui sera amplement suffisant.


Dotclear addicted since 2004

Hors ligne

#22 2009-05-07 20:58:58

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : [Résolu] URL dc1 (QUERY_STRING) vers dc2 (PATH_INFO)

Merci pour le signalement Patidou, je manque à tout mes devoirs ;-)


Dotclear addicted since 2004

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map