Aller au contenu

invader-u

Webmaster Régulier
  • Compteur de contenus

    53
  • Inscrit(e) le

  • Dernière visite

Messages postés par invader-u

  1. Salut,

    1) j'ai interdit la presence de la variable que j'ajoute pour eviter le bouclage (j'avais fait une erreur

    2) J'ai reorganise le tout pour optimizer l'execution (sortir plus vite)

    3) je me suis apercu que ca s'appliquait aussi aux sous-repertoires, donc j'ai ajoute 2 ligne qui excluent le sous repertoire lofiversion (mais seule la ligne 2 est utile !)

    4) J'ai ajoter l'argument R pour que la redirection soit visible

    RewriteCond %{PATH_INFO} !lofiversion

    RewriteCond %{REQUEST_URI} !lofiversion

    RewriteCond %{QUERY_STRING} showtopic

    RewriteCond %{QUERY_STRING} !rfurl

    RewriteCond %{QUERY_STRING} !view

    RewriteCond %{QUERY_STRING} !gopid

    RewriteCond %{QUERY_STRING} !showforum

    RewriteCond %{QUERY_STRING} !pid

    RewriteCond %{QUERY_STRING} !hl

    RewriteRule index\.php index.php?rfurl=original[QSA,L,R]

    Le probleme, c'est que cette regles est bien lu, il passe toutes les clauses "RewriteCond"

    Mais c'est au moment d'executer la "RewriteRule", qu'il estime que c'est la meme URL et donc il ignore la regle !

    Et donc je suis redirige vers le fichier index.php du forum sans passage de variable (page d'acceuil du forum)

    Ci dessous les traces completes du rewriting dans le fichier de log.

    559575:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (3) [per-dir /home/my-domain/public_html/forum/] applying pattern 'index\.php' to uri 'index.php'

    559576:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='' pattern='!lofiversion' => matched

    559577:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='/forum/index.php' pattern='!lofiversion' => matched

    559578:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='showtopic' => matched

    559579:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!rfurl' => matched

    559580:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!view' => matched

    559581:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!gopid' => matched

    559582:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!showforum' => matched

    559583:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!pid' => matched

    559584:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (4) RewriteCond: input='showtopic=61095' pattern='!hl' => matched

    559585:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (2) [per-dir /home/my-domain/public_html/forum/] rewrite index.php -> index.php?rfurl=original[QSA,L,R]

    559586:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (3) split uri=index.php?rfurl=original[QSA,L,R] -> uri=index.php, args=rfurl=original[QSA,L,R]

    559587:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (3) [per-dir /home/my-domain/public_html/forum/] add per-dir prefix: index.php -> /home/my-domain/public_html/forum/index.php

    559588:MY-IP - - [27/Mar/2006:02:31:43 --0600] [www.my-domain.com/sid#a067028][rid#a296fc8/initial] (1) [per-dir /home/my-domain/public_html/forum/] initial URL equal rewritten URL: /home/my-domain/public_html/forum/index.php [iGNORING REWRITE]

    Une idee ?

  2. Pas du tout.

    S'il y a "Disallow: /toto.html" dans robots.txt, les robots corrects ne vont plus essayer de lire /toto.html.

    Sans essayer de lire /toto.html, ils ne peuvent pas être redirigés vers /titi.html.

    Comme la norme robots.txt ne prévoit pas l'emploi du caractère spécial '*', de nombreux robots n'en comprennent pas la signification. Tu peux seulement l'utiliser dans les parties du robots.txt destinées à l'un ou l'autre robot particulier qui l'accepte.

    Jean-Luc

    P.S. il y a des infos assez détaillées sur robots.txt dans le site de ma signature.

    <{POST_SNAPBACK}>

    Merci Jean Luc pour toutes ces precisions.

    J'ai opte pour une autre methode que par un robot.txt.

    En effet, si c'est necessaire, je parse le code html de retour genere et j'ajoute une balise meta pour les robots avec un noindex (juste en dessous de la balise title)

    Du coup, je peux choisir exactement ce qui doit etre indexe etce qui ne doit pas.

    Encore merci à toi et à Dan (que j'harcelle sur un autre sujet ;-) )

  3. Je vais essayer de prendre un exemple plus clair :

    Je veux rediriger ces 2 regles en y ajoutant une variable.

    http://www.webmaster-hub.com/index.php?showtopic=22954
    http://www.webmaster-hub.com/index.php?showtopic=22954&st=90

    Comme cela

    http://www.webmaster-hub.com/index.php?showtopic=22954&varajoutee=val
    http://www.webmaster-hub.com/index.php?showtopic=22954&st=90&varajoutee=val

    Mais par contre je veux pas que ca ajoute cette nouvelle variable si elle est deja ajoutee ou si l'url contient d'autres variables.

    Dans mon exemple, je veux pas que ca ajoute si l'url est de ce type :

    http://www.webmaster-hub.com/index.php?showtopic=22954&view=getlastpost
    http://www.webmaster-hub.com/index.php?showtopic=22954&pid=457390&st=300entry457390  (normalement identique a la suivantecar l'ancre n'est pas transmise)
    http://www.webmaster-hub.com/index.php?showtopic=22954&pid=457390&st=300&
    http://www.webmaster-hub.com/index.php?showtopic=22954&view=getnewpost
    http://www.webmaster-hub.com/index.php?showtopic=22954&hl=blouclage

    http://www.webmaster-hub.com/index.php?showtopic=22954&varajoutee=val
    http://www.webmaster-hub.com/index.php?showtopic=22954&st=90&varajoutee=val

    Je peux faire comme tu dis mais je me demande si il y a pas plus simple et en plus si j'oublie une variable a exclure ca sera pas top :

    RewriteCond %{QUERY_STRING} !view
    RewriteCond %{QUERY_STRING} !pid
    RewriteCond %{QUERY_STRING} !hl
    RewriteCond %{QUERY_STRING} !varajoutee
    RewriteCond %{QUERY_STRING} showtopic
    RewriteRule index\.php index.php?varajoutee=val[QSA,L]

    Merci par avance pour vos conseils

    EDITION 1

    En plus ca ne semble pas fonctionne.

    J'ai mis ca comme regle dans le .htaccess de mon repertoire forum :

    RewriteCond %{QUERY_STRING} !gopid
    RewriteCond %{QUERY_STRING} !showforum
    RewriteCond %{QUERY_STRING} !view
    RewriteCond %{QUERY_STRING} !pid
    RewriteCond %{QUERY_STRING} !hl
    RewriteCond %{QUERY_STRING} !varajoutee
    RewriteCond %{QUERY_STRING} showtopic
    RewriteRule index\.php index.php?rfurl=original[QSA,L]

    et dans le fichier inddex.php, j'ecris des traces dans un fichier :

    ce qui me donne :

    showtopic --> 4110
    hl --> texterecherche
    request_method --> get
    URL entree : /forum/index.php?showtopic=4110&hl=texterecherche
    aussi
    _low_act -->
    act --> st
    furlindex -->
    t --> 4110
    f --> 3

    alors que sur une de mes autres regles simple de redirection, j'ai comme trace :

    showforum --> 19
    rfurl --> new
    URL entree : /forum/messages-conserver,f19.htm
    aussi
    request_method --> get
    _low_act -->
    act --> sf
    furlindex --> 1
    f --> 19

    EDITION n2 :

    RewriteRule ^([-a-z0-9\.]*),t([0-9]*).htm index.php?showtopic=$2&titlefriendly=$1&rfurl=new [L,QSA]

    Cette regle qui est placee au debut du .htaccess redirige vers la page d'acceuil du forum si j'ai aussi cette regle (en fin de fichier)

    RewriteCond %{QUERY_STRING} !gopid
    RewriteCond %{QUERY_STRING} !showforum
    RewriteCond %{QUERY_STRING} !view
    RewriteCond %{QUERY_STRING} !pid
    RewriteCond %{QUERY_STRING} !hl
    RewriteCond %{QUERY_STRING} !varajoutee
    RewriteCond %{QUERY_STRING} showtopic
    RewriteRule index\.php index.php?rfurl=original[QSA,L]

    Si je commente la grosse regle ci dessus, la regle precedente fonctionne bien

  4. Tu peux remplacer ca :

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?merveillesduweb.com(/)  [NC]
    RewriteRule .*\.(gif|jpg|jpeg|bmp)$ - [F,NC]

    par :

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?merveillesduweb.com [NC]
    RewriteRule \.(jpg|jpeg|png|gif|bmp)$ http://www.merveillesduweb.com/paslerepertoireprotegesinonbouclageinfini/imagedefaut.png [NC,R,L]

    Par contre le repetoire qui contiendra ton image de de remplacement ne doit pas etre le meme que celui des images protegees !!!!!!!!!!!

    Car sinon bouclage a l'infini !!

    A la place de paslerepertoireprotegesinonbouclageinfini tu mets ce que tu veux, mais pas ton repetoire "images" !

    (petit conseils, le format png est un format bien meilleur que le gif, car compression forte sans perte.

  5. Sinon, pour revenir au but premier de ma question et pas a mon cas particulier.

    Si une page toto.html beneficie d'une "permanente redirection" vers titi.html

    Si dans le robots.txt on ajoute Disallow toto.html

    Les moteurs vont pas indexer toto.html , mais les crawler vont la parcourir (il me semble)

    Tous les backlinks existants vers toto.html vont t'ils etres transmis a titi.html ou seront ils perdu ?

    (Je suis pas sur d'avoir compris la reponse de Dan a ce sujet)

  6. Je te remercie pour ton aide.

    Pourquoi c'est uniquement pour google ?

    concernant les ancres elle ne sont pas transmisent au serveur, ca se gere que du cote client.

    Si cela ne convient pas, il y a peut-être une solution avec robots.txt, mais pour Google uniquement (pas pour tous les autres moteurs de recherche). Tu mets quelque chose comme ceci:
    User-agent: Googlebot
    Disallow: *&pid=
    Disallow: *&st=

    Ceci interdira les adresses comprenant &pid=... ou &st=... à Google.

    Concernant les ancres (#ancre), à ma connaissance, elles ne provoquent jamais de duplicate content, car leur rôle n'est pas d'identifier une autre page, mais simplement d'indiquer qu'on demande de positionner la page d'une certaine façon sur l'écran.

    Jean-Luc

    <{POST_SNAPBACK}>

  7. Un robots.txt a pour effet de ne pas permettre l'indexation de la page, comme d'ailleurs un "noindex".

    Dans ce cas, si la page n'est pas indexée, les backlinks ne seront pas pris en compte non plus. :(

    <{POST_SNAPBACK}>

    En fait ma question est multiple et j'ai pas d bien m'expliquer, ou je comprends pas bien la reponse.

    Donc je vais reexpliquer plus clairement le cas de figure.

    j'ai :

    forum/titre,idsujet.html qui est en fait /forum/index.php?var1=idsujet (redirection transparente)

    forum/titre,idsujet,idpage.html qui est en fait

    /forum/index.php?var1=idsujet&var2=idpage

    (redirection transparente)

    Je fait une redirection de transparente de ces anciennes url vers un script de redirection qui determine qu'elle est l'url rewritee correspondante et fait une redirection 301 .

    Donc si sur la toile quelquepart, il y a un lien vers une url de la forme :

    /forum/index.php?var1=idsujet

    ca redirige vers mon script redirect.php qui lui calcule la bonne url rewritee :

    forum/titre,idsujet.html

    et fait une redirection de type 301 (par envoi de header)

    Mais le probleme :

    C'est que j'ai aussi des url de type :

    /forum/index.php?var1=idsujet&nivar1nivar2=valx

    et ces url pointe vers la meme page.

    l'attribut nivar1nivar2 servant par exemple a faire une infime modification de la page

    exemple :

    http://www.webmaster-hub.com/index.php?showtopic=22961
    http://www.webmaster-hub.com/index.php?showtopic=22961&view=getlastpost

    Dans mon cas la premiere url est redirigee en 301,

    mais pas la seconde affiche en fait :

    http://www.webmaster-hub.com/index.php?showtopic=22961&pid=161566&st=0entry161566

    Dans les 2 cas, la premiere url et la seconde affiche la meme page (a une ancre pret)

    et j'ai peur qu'il y ai duplicate content entre

    forum/titre,22961.html

    et

    index.php?showtopic=22961&pid=161566&st=0entry161566

    car au final c'est le meme code

    Donc je voudrais interdire par robot.txt

    index.php?showtopic=22961&pid=161566&st=0entry161566

    index.php?showtopic=22961&view=getlastpost

    mais pas perdre les anciens backlinks de index.php?showtopic=22961

    car il sont conserve par la redirection 301 vers forum/titre,22961.html

    Avait vous une idee pour faire ca avec le robots.txt

  8. Oui c'est bien ce que je voulais faire.

    Merci Dan, je note l'astuce.

    Par contre, j'ai du mal m'exprimer car ce n'était pas ma question. Je ne veux pas que mes images s'affichent sur le forum mais je voulais savoir s'il était possible d'afficher un lien vers mon site ou mon adresse à la place de ce qui est affiché actuellement/

    Un grand merci à tous  :)

    <{POST_SNAPBACK}>

    Alors il y a 2 choses a verifier.

    1) normalement, si ue image n'est pas joignable, par exemple image absente, c'est ce qui est dans la balise "alt" qui est affiche. Mais ca depend de comment les navigateurs respecte la regle.

    Donc dans ton cas, il suffit de renseigner la balise alt.

    Mais l'inconvenient, c'est que normalement, la balise alt sert pas a ca, elle sert pour les naviguateurs non graphique est doit etre renseigner pour expliquer ce qu'est cette image (pour un aveugle ar exemple"

    2) normalement, tu peux par exemple rediriger toutes tes images, vers une meme image qui elle sera explicite pour dire que c'est pas autorise, cette image pourrait contenir ton url.

    Mais je me rapelle plus comment on fait

    Dan t'es là ? ;-)

  9. Tout d'abord je te remercie, car comme a ton habitude, c'est tres bien repondu.

    Mais cela m'amene a te poser une autre question.

    Mon probleme est le suivant :

    Je veux rediriger uniquement

    index.php?vara=([0-9]+)

    index.php?vara=([0-9]+)&varb=([0-9]+)

    Mais pas :

    index.php?vara=([0-9]+)&var_ni_an_ib_1=([0-9]+)&var_ni_an_ib_2=([0-9]+) ...

    idem avec vara et varb

    index.php?vara=([0-9]+)&varb=([0-9]+)&var_ni_an_ib_1=([0-9]+)&var_ni_an_ib_2=([0-9]+) ...

    en gros je veux rediriger si et seulement si ca contient uniquement vara ou (vara et varb)

    Merci par avance

    Tu ne peux pas mettre la QUERY_STRING dans la règle, parce que dans ce cas elle n'est pas reconnue.

    Il faut mettre une condition, se basant sur la %{QUERY_STRING}, mais pour éviter de boucler à l'infini, il faut aussi s'assurer que cette %{QUERY_STRING} ne contient pas "var2" et dans ce cas ne rien faire.

    Donc par exemple:

    RewriteCond %{QUERY_STRING} !var2
    RewriteCond %{QUERY_STRING} var1
    RewriteRule index\.php index.php?var2=original [QSA,L]

    Cela dit que si la %{QUERY_STRING} ne contient pas var2 ET qu'elle contient var1, on rajoute une variable "var2=original" ainsi que les variables qui étaient transmises, grâce au flag [QSA]

    Note: Lors de l'utilisation de 2 ou plusieurs RewriteCond, celles-ci sont liées par un "ET Logique". Si on veut inverser cela et avoir un "OU Logique" il faut mettre [OR] en fin de RewriteCond ;)

    Dan

    <{POST_SNAPBACK}>

  10. Bonjour,

    Dans le cardre du rewriting de mon forum, je voudrais interdire a google d'indexer certaines pages.

    En effet, mon rewriting est le de la forme suivante :

    forum/titresujet,idsujet,html ---> forum/index.php?showtopic=idsujet

    Pour eviter le duplicate content, j'ai aussi ajoute une regle qui redirige cette ancienne url vers une page de redirection qui calcule la bon url rewrite et redirige avec code 301

    genre :

    forum/index.php?showtopic=idsujet --> redirect.php?type=showtopic&id=idsujet

    (donc comme je l'ai dit le script redirect.php s'occupe de tout et calcule la bonne url et fait une redirection 301)

    Par contre dans mon forum, j'ai aussi des url de ce genre :

    forum/index.php?showtopic=idsujet&varx=valx&vary=valy

    Or ces urls renvoient en gros la meme page, juste avec par exemple des termes de la page mis en inverse video (ou ca renvoit sur une ancre), mais c'est le meme contenu.

    Donc pour eviter le duplicate content, je voudrais renseigner le fichier robots.txt afin de bloquer l'acces des moteurs a :

    index.php?*

    Mon probleme, c'est que j'ai deja plein de backlink sur mes anciennes url.

    Mon fichier redirect.php me permet de les conserver, mais sans un fichier robots.txt, je risque le duplicate content.

    Mais avec un fichier robots.txt, est ce que je perd le benefice des backlinks de mes anciennes urls ou est ce que c'est uniquement comme un "noindex" dans les meta de la page ?

    Je vous remercie

  11. je fais donc ça :

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?merveillesduweb.com(/)  [NC]
    RewriteRule .*\.(gif|jpg|jpeg|bmp)$ - [F,NC]

    et je le place dans mon dossier images.

    C'est bien ça ?

    Merci  :)

    <{POST_SNAPBACK}>

    oui, normalement ca doit fonctionner.

    Pour tester, il faut aller sur un forum exterieur et poster une image (en lien) issue de ton site.

    Normalement elle doit pas s'afficher.

    Si elle s'affiche, il y a 2 raisons possibles :

    1) ta regle est fauses ou pas lu.

    2) tu as deja ete sur la page de ton site contenant cette image, l'image est stokee en cache dans ton butineur (ie, firefox, ...) et alors il l'affiche.

    Solution,

    mettre une nouvelles image dans ton repertoire image, ne pas l'afficher sur ton site et poster par exemple dans un forum, par exemple en repondant a ce message

  12. Petite precision, les visiteurs parano on parfois configure le buttineur (firefox, ie) ou un logiciel de securite (genre la merde de norton security) afin que le REFERER ne soit pas transmis.

    Dans ce cas, les images s'affichent pas.

    Dan, tu aurais une regle a mettre pour que en fait les images soient transmises si le referer est bon ou si il y a pas de referer (en fait, bloquer uniquement si le referer = autre site)

    Car moi aussi j'utilise ce systeme, mais regulierement, j'ai des visiteurs qui voient pas mes images a cause d'un probleme de ce genre.

    Et en meme temps Dan, si tu as du temps tu pourrais me dire si tu as une idee sur ca :

    http://www.webmaster-hub.com/index.php?showtopic=22954

    Je te remercie par avance

    edit :

    Dan c'est bien IPB, car je vois que tu es sur le sujet en ce moment ;-)

  13. Bonjour,

    Ma regle se trouve dans un .htaccess dans le repertoire MONREP

    J'ai 2 questions :

    1) Je voudrais rediriger de maniere transprente une requete vers une requete avec une variable en plus.

    J'ai ecrit cette regle, mais qui semble jamais etre suivie, car $var2 est toujours vide quand je le recupere dans le script index.php

    RewriteRule ^index.php?var1=([0-9]+) index.php?var1=$1&var2=original [L,QSA]

    Ma requete est du genre :

    http://www.MONDOMAIN.com/MONREP/index.php?var1=456

    2)

    Parfois la requete n'est pas comme ci dessous, mais comme ca :

    http://www.MONDOMAIN.com/MONREP/?var1=456

    et je voudrais rediriger vers

    index.php?var1=$1&var2=original

    Quelle est la regle a mettre ?

    Je vous remercie par avance pour l'aide que vous m'aporterez.

  14. RewriteOptions inherit
    RewriteCond %{HTTP_REFERER} !^http://www.domain1.com.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.domaine2.net.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.domain3.org.*$ [NC]
    RewriteRule .*\.(mid|gif|jpg|jpeg|exe|zip|rar)$ /errordocs/404.htm [R,L]

    Ca c'est la regle classique qui bloque toutes tes images, sauf si celui qui affiche est 1 des 3 domain listes au dessus.

    Par contre dans ton cas, c'est un peut different, il faudrait que tes bannieres se trouvent dans un repertoire different de celui de tes autres images.

    Si tu mets tes banierres dans images_bannieres et tes autres images dans le repertoire images, il te suffira de creer un fichier .htaccess dans ton repertoire images et y mettre la regle ci-dessus, comme ca elle s'appliquera uniquement au repertoire (et je crois sous-repertoire) images.

    Comme ca tes bannierres sont affichables ailleurs et tes images non !

    Tu auras peut etre besoin d'ajouter :

    RewriteEngine On

    et peut etre aussi :

    RewriteBase /images

  15. Bonjour,

    Dans les deux choix que tu proposes, il n'y a aucune différence sensible dans le coût en ressources du système.

    Une de tes hypothèses de départ n'est pas correcte pour Google. Pour Google, le '_' (= souligné = underscore) est vu comme une lettre. Il ne sépare pas les mots. Son emploi comme "séparateur" dans tes URL n'est donc pas une bonne solution. Pour les séparateurs, je donnerais la préférence au '-' (tiret) et à la ',' (virgule).

    Il y a quelque mois, j'avais fait des tests et j'ai mis les résultats ici :

    - Google - Les séparateurs de mots

    - MSN Search - Tiret dans l'URL ?

    Personnellement, je mettrais les mots clés en avant et les "numéros" derrière.

    Jean-Luc

    <{POST_SNAPBACK}>

    Bonjour et merci pour ta reponse.

    A la lecture des articles que tu m'as recommande, pour MSN, le '-' semble pas conseiller, car en effet mon domaine en contient deja 1.

    avec ma regle actuelle, j'aurai par exemple :

    http://www.MON-DOMAINE.com/forum/le-titre-...m_t1234_098.htm

    Je t'avoue que mettre une , a la place du - separateur des mots, ca me fait bizare.

    ca donnerai avec des + et des ,

    http://www.MON-DOMAINE.com/forum/le+titre+...m,t1234,098.htm

    Mais bon je me demande si ca sert a quelque chose de fraire du rewriting avec le titre, autant alors faire

    http://www.MON-DOMAINE.com/forum/t321321.htm

    je perds les mots clefs dans l'url, mais je peux etre reference partout.

    Mais comme maintenant, tous les moteurs ou presque lisent les urls avec arguments, quel sera donc l'interet de mon rewriting ?

  16. Bonjour,

    Je dois choisir entre 2 types de reecritures :

    RewriteRule ^t([0-9]*)_([0-9]*)_([a-z0-9-]*)\.htm index.php?showtopic=$1&st=$2&furl=yes [L]

    RewriteRule ^([a-z0-9-]*)_t([0-9]*)_([0-9]*)\.htm index.php?showtopic=$1&st=$2&furl=yes [L]

    ([a-z0-9-]*) : est le titre du topic

    t([0-9]*) : le numero du topic

    ([0-9]*) : numero de la page

    Je me pose plusieurs questions :

    1) Quelle est la regle qui sera la moins couteuse en ressource sur le serveur ?

    2) Quelle est la regle la mieux pour le referencement

    3) ... la plus comprehensible pour le visiteur

    4) Laquelle choisiseriez vous et surtout pourquoi ?

    Derniere question, entre les 2 regles suivantes, laquelle et la moins couteuse en ressources serveur, en sachant que dans tous les cas, le titre n'est compose que de caracteres alphanumeriques en minuscule + le "-" :

    RewriteRule ^([a-z0-9-]*)_t([0-9]*)_([0-9]*)\.htm index.php?showtopic=$1&st=$2&furl=yes [L]

    RewriteRule ^(.*)_t([0-9]*)_([0-9]*)\.htm index.php?showtopic=$1&st=$2&furl=yes [L]

    Je vous remercie par avance.

  17. Si tu veux déplacer toutes tes URLs de "/forums/" vers "/forum/", il suffisait d'un Redirectpermanent, non ? Pas besoin de 36000 règles pour cela.

    Et dans le répertoire "forum" tu mets les règles propres aux redirections du forum...

    De plus, si ton texte est déjà en lowercase, il n'est pas utile de mettre [A-Z]a-z0-9 dans ta règle, tu perds du temps à valider cela. Remplace-le par [a-z0-9] ;)

    <{POST_SNAPBACK}>

    merci, je prends bonne note de tout cela

  18. Tu fais quoi avec le $2 dans cette règle :

    RewriteRule ^t([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showtopic=$1&furl=yes [L]

    Tu pourrais d'ailleurs l'écrire:

    RewriteRule ^t([0-9]*)_([A-Z0-9-]*)\.htm index.php?showtopic=$1&furl=yes [NC,L]

    si tu utilisais le $2 ;)

    Dan

    <{POST_SNAPBACK}>

    Salut Dan,

    Tout d'abord merci de ta reponse.

    Concernant mon probleme, je suis un imbecile dans le repertoire forum j'ai un autre htaccess qui contient les regles propres au forum et donc ca pouvait pas marcher.

    Concernant le NC, c'est pas utile, car le texte est deja en lowcase.

    Concernant le $2, je vais l'utiliser, en fait je comptais l'utiliser indirectement. Car je veux verifier l'unicite de l'URL. Je sais pas si je suis clair. En gros, si on met n'importe quoi dans ce qui est $2, ca redirigera en 301 sur la bonne page, mais j'avais pense faire une comparaison d'url avec url attendue. Mais comme tu dis je peux juste comparer $2 avec ce qu'il devrait etre.

    Le probleme, eviter les boucles qui pourrait mettre par terre le serveur

    En fait j'essaie de corriger les differents rewriting fait jusqu'a present.

    Car idiot que je suis j'ai deplace forums dans forum, j'arrivait pas a faire ma rewriterule, du coup j'avais fait un lien symbolique de forums vers forum

    mauvaise idee car duplicate content (sans le vouloir)

    j'avais aussi fait du rewriting dans le forum, mais pareil pas si bien fait donc duplicate content.

    En gros les pages de mon forum doivent etre en 3 ou 4 fois sans que ce soit fait expres et donc je pense que google m'aime pas !

    Donc comme je suis gentils (et idiot) je cherche comment corriger mon erreur

  19. Bonjour,

    Voici un extrait de mon .htaccess.

    RewriteRule ^t([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showtopic=$1&furl=yes [L]
    RewriteRule ^t([0-9]*)_([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showtopic=$1&st=$2&furl=yes [L]
    RewriteRule ^f([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showforum=$1&furl=yes [L,E=furl:yes]
    RewriteRule ^f([0-9]*)_([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showforum=$1&st=$2&furl=yes [L,E=furl:yes]
    RewriteRule ^viewtopic_([0-9]*)_([0-9]*).html index.php?act=ST&f=$1&t=$2&s= [L]
    RewriteRule ^pagef_([0-9]*)_([0-9]*)_([0-9]*).html index.php?s=&act=SF&f=$1&prune_day=$2&sort_by=Z-A&sort_order=&st=$3 [L]
    RewriteRule ^paget_([0-9]*)_([0-9]*)_([0-9]*).html index.php?s=&act=ST&f=$1&t=$2&st=$3 [L]

    En fait ce qui me pose probleme, c'est la premiere regle. Ca me repond toujors erreur dans le lien demande.

    RewriteRule ^t([0-9]*)_([A-Za-z0-9-]*)\.htm index.php?showtopic=$1&furl=yes [L]

    Cette regle ne fonctionne pas

    alors que celle ci :

    RewriteRule ^paget_([0-9]*)_([0-9]*)_([0-9]*).html index.php?s=&act=ST&f=$1&t=$2&st=$3 [L]

    fonctionne.

    J'ai essaye plein de trucs.

    J'ai meme essaye

    RewriteRule ^t([0-9]*).htm http://ww.MONDOMAIN.com [L]

    mais ca marche pas

    alors j'ai duplique la ligne qui marche et je l'ai modiee comme suit, mais ca marche toujours pas.

    RewriteRule ^page2t_([0-9]*).html index.php?s=&act=ST&f=10&t=$1&st=0 [L]

    Par contre si je mets directement dans firefox ca marche

    http://www.MOMDOMAINE.com/forum/index.php?s=&act=ST&f=10&t=NUMERO&st=0

    C'est un peu comme si je pouvais pas ajouter de regles, les anciennes fonctionnes, les nouvelles non.

    Voyez vous une erreur dans mon code ?

×
×
  • Créer...