URL-Rewriting à tendance schizophrène

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

URL-Rewriting à tendance schizophrène

Message le Lun Sep 13, 2004 23:04

Salut,

Voilà mon pb : je voudrais mettre en place des règles d'UR qui peuvent a priori sembler contradictoires :
  • j'ai des règles qui transforment http://monsite/truc-var1-val1-var2-val2.html en truc.php?var1=val1&var2=val2
  • mais je voudrais que ces règles d'UR soient discrètes, c-à-d qu'elles ne soient pas détectables par un internaute : je voudrais donc qu'un appel direct (via la barre d'adresse) à la page truc.php provoque une erreur 404 alors qu'un appel interne au serveur (résultant donc de la règle UR passe normalement


Est-ce possible ? Comment ?

Merci :)

moutyk
WRInaute passionné
WRInaute passionné
 
Messages: 704
Inscription: Sam Mar 01, 2003 23:59

Message le Mar Sep 14, 2004 0:11

Salut,

Seul un psy pourra te répondre !
:lol:

Euh balèze ce que tu demandes, je me demande si cela est bien possible.

++


lou
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Dim Mai 09, 2004 17:59

Message le Mar Sep 14, 2004 0:22

Bah si c'est tout à fait possible, d'ailleur l'UR est complétement transparent.

moutyk
WRInaute passionné
WRInaute passionné
 
Messages: 704
Inscription: Sam Mar 01, 2003 23:59

Message le Mar Sep 14, 2004 0:26

Si c'est possible je suis curieux de savoir comment l'on fait ?

Ethancarter
WRInaute discret
WRInaute discret
 
Messages: 77
Inscription: Dim Jan 25, 2004 14:29

Message le Mar Sep 14, 2004 0:59

en modifiant ton script PHP.. si la page d'appel ne contient pas un .html par exemple, tu renvoie sur ton fichier d'erreur 404...

je le fait chez moi et ça marche bien.. mais bon je suis en perl et je ne connais pas trop le php ;-)


e-kiwi
Modérateur
Modérateur
 
Messages: 13870
Inscription: Mar Déc 23, 2003 9:04

Message le Mar Sep 14, 2004 7:19

un moyen détourné est de ne pas nommer ta page html et php pareil :

exemple ta page php s'appelle gfdgdfgd.php, avant qu'un internaute trouve la page, de l'eau sous les pond aura coulée :-)


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

Message le Mar Sep 14, 2004 9:10

@lou : Alors, tu fais comment ?


e-kiwi
Modérateur
Modérateur
 
Messages: 13870
Inscription: Mar Déc 23, 2003 9:04

Message le Mar Sep 14, 2004 9:18

eh beh un truc du genre rewrite ^[nimportequoi].php$ /erreur404.htm


lou
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Dim Mai 09, 2004 17:59

Message le Mar Sep 14, 2004 11:09

tu mets une variable supplémentaire (secrete), puis dans ton script php tu test si la variable existe (preuve du passage par l'UR) ça renvoi une erreur 404...


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

Message le Mar Sep 14, 2004 14:21

Ouhla quel fourbe !
Merci Lou :D


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

Message le Mar Sep 14, 2004 23:56

Question : un fichier .htaccess est-il ré-entrant ? En d'autres termes, si on lui met plusieurs règles, il se contente bien de lire et d'appliquer les règles dans l'ordre ? Il ne reprend pas le fichier htaccess depuis le début après chaque transformation ?

Si c'est le cas, on devrait pouvoir mettre en première règle un truc du genre :
- toute page .php (avec ou sans paramètres) renvoie à l'accueil, avec un paramètre quiprovoquera l'émission d'un en-tête 404

et en règles suivantes les règles de passage de truc-var1-... .html en truc.php?var1...

Non ?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mer Sep 15, 2004 8:48

Non. D'après la doc de mod_rewrite,
Unbelievably mod_rewrite provides URL manipulations in per-directory context, i.e., within .htaccess files, although these are reached a very long time after the URLs have been translated to filenames. It has to be this way because .htaccess files live in the filesystem, so processing has already reached this stage. In other words: According to the API phases at this time it is too late for any URL manipulations. To overcome this chicken and egg problem mod_rewrite uses a trick: When you manipulate a URL/filename in per-directory context mod_rewrite first rewrites the filename back to its corresponding URL (which is usually impossible, but see the RewriteBase directive below for the trick to achieve this) and then initiates a new internal sub-request with the new URL. This restarts processing of the API phases.
Again mod_rewrite tries hard to make this complicated step totally transparent to the user, but you should remember here: While URL manipulations in per-server context are really fast and efficient, per-directory rewrites are slow and inefficient due to this chicken and egg problem. But on the other hand this is the only way mod_rewrite can provide (locally restricted) URL manipulations to the average user.

En gros, le processus d'interprétation des URL recommence après le traitement du .htaccess. Donc, si tu transformes un .htm en .php, le traitement retourne au début, arrive au .htaccess, trouve un .php et colle le paramètre qui provoque un 404, d'où erreur systématique. Il faudrait ajouter une condition sur la réécriture des php, par exemple un test sur l'URL d'origine.
En revanche, ca marcherait en httpd.conf


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

Message le Mer Sep 15, 2004 10:45

Bon ben dans ce cas je vais utiliser le truc de la variable secrète.

Merci :D


e-kiwi
Modérateur
Modérateur
 
Messages: 13870
Inscription: Mar Déc 23, 2003 9:04

Message le Mer Sep 15, 2004 11:05

oui d ou mon post plus haut qui ne marche effectivement pas. je ne connaissait pas ce fonctionnement du mod_rewrite. qu'est ce qu'on en apprend des tucs ici :-)


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

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