URL simplifiée

Nouveau WRInaute
Bonjour,
C'est mon premier post ici. Je suis tout débutant en URL rewriting. Ma question est très simple, trop simple en fait pour espérer trouver des réponses dans des messages déjà existants. :roll:

Objectif
Je souhaite simplement simplifier les URI de mon site (comme tout le monde ici !i). L'objectif, c'est que lorsque le visiteur tape : ht*p://www.monsite.net/enseignes , il se retrouve sur la page ht*p://www.monsite.net/enseignes.php

Actuellement
Je précise que le répertoire 'enseignes' n'existe pas sur mon site.
Voilà ce que j'ai mis dans mon .htaccess :
Code:
RewriteEngine on
RewriteRule ^enseignes$ enseignes.php

Résultat
Je tombe systématiquement sur la page 404 de mon site !

Question
Quel est le problème avec mon .htaccess ?

Merci d'avance à tous ceux qui pourront m'aider !
 
WRInaute occasionnel
A moins que ton système ne fonctionne que pour quelques mots-clefs, je suppose que tu as une seconde ré-écriture qui gère cela ?

Du style :

Code:
RewriteRule ^([a-z]+)$ page.php?mot_clef=$1

Sinon c'est normal que tu retombes toujours sur une 404 si la page demandée n'existe pas :)
 
Nouveau WRInaute
Ça ne change rien

Salut jeroen,
Merci d'avoir pris le temps de répondre à une question bête comme celle-là.
RewriteEngine on
RewriteRule ^enseignes$ /enseignes.php
Ce code que tu m'as donné de fonctionne malheureusement pas. Je tombe toujours sur ma page 404.
Pris d'un doute, je viens d'essayer le fameux :
Code:
RewriteRule ^nexistepas\.html$ /enseignes.php
et cela fonctionne bien. Donc le mod_rewrite semble bien activé.

La réécriture que je veux faire chierait-elle parce qu'il croit que c'est un répertoire ?
Je ne comprends vraiment pas pour quoi le code avec nexistepas.html fonctionne mais pas le tien !

Encore merci.
 
Nouveau WRInaute
PyRoFLo a dit:
A moins que ton système ne fonctionne que pour quelques mots-clefs, je suppose que tu as une seconde ré-écriture qui gère cela ?

Du style :

Code:
RewriteRule ^([a-z]+)$ page.php?mot_clef=$1

Salut PyRoFLo,
Je ne suis pas sûr d'avoir bien saisi ta question.
En tout cas, ce que je peux dire, c'est que je ne me sert pas du tout de variable dans l'URL de cette page. C'est une page statique, dans le sens où mon script PHP ne se sert pas d'aucune variable d'URL. Je n'ai pas donc rien qui puisse ressembler à enseignes.php?mot_clef=655.
Si on appelle directement la page enseignes.php, ça marche très bien.
 
Nouveau WRInaute
Ca marche mais j'ai un autre problème ...

Gloups :oops:
J'avais comme qui dirait fait une petite faute de frappe ...

Code:
RewriteRule ^enseignes$ /enseignes.php

Ca marche nickel.
Merci et désolé pour cette grosse question de newbie. :roll:

En revanche, j'ai désormais un autre problème. J'utilise un test sur l'agent qui visite ma page, si c'est un aspirateur de mail, je l'envoie sur un autre site, genre Microsoft. J'avais enlevé tous ces tests de mon .htacess pour me concentrer sur ma redirection toute simple. Une fois mon problème résolu, je les ai remis dans mon .htaccess, qui ressemble maintenant à :
Code:
RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} @nonymouse [OR]
//Liste d'agents à dégager
RewriteRule ^.*$ h*tp://www.microsoft.com [R,L]

RewriteRule ^enseignes$ /enseignes.php

Nouveau problème
Maintenant, quand la redirection sur "enseignes" se fait (ou même mon erreur 404 !), ça me renvoie sur le site Microsoft !
J'ai essayé de placer ma règle "Enseignes" avant ou après, ça ne change rien. Comment faire pour éviter que les deux mécanismes interfèrent ?

Merci !!

P-S : peut-être devrais-je lancer un nouveau sujet pour ce problème ?
 
WRInaute passionné
essaie :

Code:
RewriteEngine on

RewriteRule ^enseignes$ /enseignes.php  [L]

RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} @nonymouse [OR]
//Liste d'agents à dégager
RewriteRule ^.*$ h*tp://www.microsoft.com [R,L]

Et attention aux fautes de frappe :wink:
 
Nouveau WRInaute
Nope, ça ne marche toujours pas (sans faute de frappe !). Si la redirection enseignes s'applique, ou si je provoque une erreur 404, je tombe sur le site Microsoft.
Mon fichier .htaccess entier :
Code:
ErrorDocument 404 /erreur404.php
RewriteEngine on
RewriteRule ^enseignes$ /enseignes.php [L]

RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
#Liste d'agents à dégager
RewriteRule ^.*$ http://www.microsoft.com [R,L]
 
Nouveau WRInaute
Le # ne pose pas de pb, il sert juste à commenter la ligne dans mon exemple car je ne voulais pas tout écrire, mais dans mon fichier .htaccess, je n'ai pas de # !

Et sinon, ^enseignes$ est bien la seule redirection.

Comme dirait le docteur Spock, d'un air étrange et curieux : "Fascinant, capitaine"
 
Nouveau WRInaute
J'ai changé la condition Microsoft en :
RewriteRule ^.*$ h*tp://www.microsoft.com [L]

Mais ça ne change rien au problème.
 
Nouveau WRInaute
Ca y est, mais j'avais mal vu, en fait TOUT LE TRAFIC de mon site est redirigé vers Microsoft !!

Donc je ne vais pas le laisser trop longtemps ...
(Et je change aussi l'URL vers le W3C, autant que la redirection serve à quelque chose !)
 
Nouveau WRInaute
Code:
ErrorDocument 404 /erreur404.php
RewriteEngine on
RewriteRule ^enseignes$ /enseignes.php [L]

RewriteCond %{HTTP_USER_AGENT} Advanced\ Email\ Extractor [OR]
RewriteCond %{HTTP_USER_AGENT} almaden [NC,OR]
RewriteCond %{HTTP_USER_AGENT} @nonymouse [OR]
RewriteCond %{HTTP_USER_AGENT} Art-Online [OR]
RewriteCond %{HTTP_USER_AGENT} CherryPicker [OR]
RewriteCond %{HTTP_USER_AGENT} Crescent\ Internet\ ToolPack [OR]
RewriteCond %{HTTP_USER_AGENT} DirectUpdate [OR]
RewriteCond %{HTTP_USER_AGENT} Download\ Accelerator [OR]
RewriteCond %{HTTP_USER_AGENT} eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} echo\ extense [OR]
RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} Fetch\ API\ Request [OR]
RewriteCond %{HTTP_USER_AGENT} flashget [NC,OR]
RewriteCond %{HTTP_USER_AGENT} frontpage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} HTTP\ agent [OR]
RewriteCond %{HTTP_USER_AGENT} HTTPConnect [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [OR]
RewriteCond %{HTTP_USER_AGENT} IPiumBot\ laurion(dot)com [OR]
RewriteCond %{HTTP_USER_AGENT} Kapere [OR]
RewriteCond %{HTTP_USER_AGENT} libwww-perl [OR]
RewriteCond %{HTTP_USER_AGENT} Microsoft\ URL\ Control [OR]
RewriteCond %{HTTP_USER_AGENT} minibot\(NaverRobot\) [OR]
RewriteCond %{HTTP_USER_AGENT} NICErsPRO [OR]
RewriteCond %{HTTP_USER_AGENT} NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} Program\ Shareware [OR]
RewriteCond %{HTTP_USER_AGENT} QuepasaCreep [OR]
RewriteCond %{HTTP_USER_AGENT} SiteMapper [OR]
RewriteCond %{HTTP_USER_AGENT} Star\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR]
RewriteCond %{HTTP_USER_AGENT} Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} Telesoft [OR]
RewriteCond %{HTTP_USER_AGENT} TuringOS [OR]
RewriteCond %{HTTP_USER_AGENT} TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} vobsub [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webbandit [NC,OR]
RewriteCond %{HTTP_USER_AGENT} WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} webcollage [OR]
RewriteCond %{HTTP_USER_AGENT} WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} WebDAV [OR]
RewriteCond %{HTTP_USER_AGENT} WebEmailExtractor [OR]
RewriteCond %{HTTP_USER_AGENT} WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} WEBsaver [OR]
RewriteCond %{HTTP_USER_AGENT} WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Wysigot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} Zeus [OR]
RewriteRule ^.*$ http://www.w3c.org [L]
 
Nouveau WRInaute
Géniaaaaaaaaaaaaal
ça marche superbe.

Merci beaucoup
et merci d'avoir passé autant de temps, c'est vraiment, vraiment sympa.
Yihaaaaaaaaa.
 
Haut