[réglé] Redirection en supprimant une query string

Forums consacré à la conception de site web : W3C (HTML, CSS, XML, XSL etc.), langages de programmation (PHP, JavaScript, etc.), bases de données (MYSLQ ..), scripts, outils de développement.

Modérateur: Modérateurs

[réglé] Redirection en supprimant une query string

Messagede falkra » Mar Mai 08, 2007 3:45 pm

Bonjour,

yahoo s'obtstine à garder en mémoire des urls contenant des query strings datant du temps reculé où le site avait des sondages, des adresses de type :

page.php?action=results&poll_ident=12

Je cherche la syntaxe exacte pour rediriger en 301 via htaccess
page.php?action=results&poll_ident=12
vers
page.php
donc rediriger vers la page sans QS, si l'url avec QS contient "poll_ident"

J'ai essayé pas mal de bidouilles, (avec des RewriteCond %{QUERY_STRING} poll_ident(=[0-9]) [NC,OR] par exemple) pour le moment ça ne passe pas (côté syntaxe apache). Si vous avez deux minutes...
Dernière édition par falkra le Dim Mai 13, 2007 4:04 pm, édité 1 fois.
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Publicité

Messagede dcz » Mer Mai 09, 2007 9:18 am

Le plus simple serait d'utiliser les fonction du zéro duplicate, enfin, pour peu que page.php partage les sessions de phpBB.

Des truc dans le genre de :

Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$uri = $phpbb_seo->seo_req_uri();
if ( isset($_GET['poll_ident'])) {
   $phpbb_seo->seo_redirect("http://www.urldetahome.com/");
}
// www.phpBB-SEO.com SEO TOOLKIT END


en début de script (dès que les fonction phpBB SEO sont accessibles).

Avec ça, si on passe la variable poll_ident, on est redirigé, il suffit de bosser un peu les critères, mais c'est plus simple comme ça je trouve, et cela n'ajoute pas de rewriterules testés sur toutes les requêtes pour un seul script.

++
Dernière édition par dcz le Dim Mai 13, 2007 3:49 pm, édité 1 fois.
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21373
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede falkra » Mer Mai 09, 2007 9:34 am

Malheureusement c'est en dehors de la juridiction des sessions phpBB, et ça concerne presque toutes les pages du portail (qui reste hors sessions).

Je pensais à une règle temporaire (le temps que yahoo convertisse), du type
RewriteCond %{QUERY_STRING} poll_ident [NC,OR]
dans cet esprit, quitte à la retirer après.
Cosmétique je suppose, on arrive aux pages, mais ça m'agace que yahoo garde obstinément ces urls en stock.
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Messagede dcz » Mer Mai 09, 2007 9:50 am

Dans ce cas, tu peux inclure et démarrer la classe phpbb_seo, il faut juste configurer manuellement les chemins au démarrage, vu qu'on ne passe pas par phpBB :

Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$phpbb_root_path = './phpbb/'; // Le chemin de ton forum
include($phpbb_root_path . 'phpbb_seo/phpbb_seo_class.'.$phpEx);
$phpbb_seo = new phpbb_seo();
$phpbb_seo->seo_path['phpbb_script'] = 'phpBB/'; // Le chemin de ton forum
$phpbb_seo->seo_path['root_url'] = "http://www.example.com/"; // L'url de ton domaine
$phpbb_seo->seo_path['phpbb_url'] = $phpbb_seo->seo_path['root_url'] . $phpbb_seo->seo_path['phpbb_script'];
// www.phpBB-SEO.com SEO TOOLKIT END


A mettre dans un fichier utilisé à chaque page, équivalent de common.php pour phpBB.

Et hop ;)
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21373
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede falkra » Mer Mai 09, 2007 9:55 am

Aïe, je me suis mal exprimé, yahoo le fait sur énormément de pages du site (hors forum), presque tout le protail, d'où ma préférence pour un système 301 via .htaccess, car ça m'évite de modifier presque toutes les pages du portail.

Je garde le code sous le coude, j'en ai utilisé pour rewriter des modules fait maison en page d'accueil. :D
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Messagede dcz » Jeu Mai 10, 2007 8:19 am

Il utilises tant de scripts différents que ça ton portail ?

Il y en a qui construisent toutes leur pages avec un seul fichier cible, et ça fait donc qu'un seul fichier à modifier pour toutes les redirections.

L'exemple que je t'ai donné ne vaut que pour un critère sur page.php, mais tu peux en ajouter autant que de duplicate possible sur ce script.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21373
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede falkra » Jeu Mai 10, 2007 7:37 pm

Tant non, il y a un certain nombre de centralisations.
Je vais faire des essais. :D

Edit : il ne se passe rien, ou erreur à la ligne contenant "isset".

Par contre ceci fonctionne presque en local :
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} poll_ident [NC,OR]
RewriteRule ^(.*)\.php/$ $1.php? [R=301]


En tout cas, déjà, merci pour ces indications. :D
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Messagede dcz » Ven Mai 11, 2007 3:54 pm

Ah bah oui :lol:

Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$uri = $phpbb_seo->seo_req_uri();
if ( isset($_GET['poll_ident'])) {
   $phpbb_seo->seo_redirect("http://www.urldetahome.com/");
}
// www.phpBB-SEO.com SEO TOOLKIT END


;)
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21373
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede falkra » Dim Mai 13, 2007 3:39 pm

Re. En utilisant cette option, j'arrive à mes fins, impeccable.

Code: Tout sélectionner
   $phpbb_seo->seo_redirect('http://localhost'.$_SERVER["PHP_SELF"]);


Un grand merci, Dcz. :D
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Messagede falkra » Jeu Mai 24, 2007 2:12 pm

Quelques nouvelles. :-D
Le nombre d'urls erronnées est passé de 2080 à 460, et ce n'est pas fini.
J'ai triché : j'ai fait un fichier php avec tous ces liens, disallowed à google, et en Meta noindex, follow pour accélérer les choses. Impeccable, et rapide.

Merci Dcz :wink:
Avatar de l’utilisateur
falkra
PR3
PR3
 
Messages: 373
Inscription: Dim Mar 11, 2007 12:11 am

Messagede dcz » Jeu Mai 24, 2007 5:03 pm

A priori, je dirais qu'il vaut mieux laisser faire les redirections que d'interdire, mais c'est revenu au même on dirait.

Et de rien ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21373
Inscription: Ven Avr 28, 2006 9:03 pm


Retourner vers Développement de site

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 17 invités