Besoin d'aide pour un débutant en url rewritting

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

Morning
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 15 Mar 2006

Besoin d'aide pour un débutant en url rewritting

Message le Mer Mar 15, 2006 18:10

Bonjour tout le monde :)

Voila je débute en URL Rewriting et mon patron (qui est tres tres méchant :p) m'a demandé de faire un truc qui met à rude épreuve mon intellect.

Et vu que, évidemment, ça urge, je me demandais si vous pourriez pas m'aider.

Donc voila j'ai un site internet :

www.monsite.com

qui doit, quand un utilisateur tappes une adresse qui n'existe pas :

www.monsite.com/jenexistepas

rediriger l'utilisateur sur un fichier redirect.php avec en paramétre la fameuse adresse :

www.monsite.com/redirect.php?var=jenexistepas

L'intéret apres etant de pouvoir analyser le contenu de var transmis au fichier php et déclencher des actions appropriées...

Alors j'ai testé plain plein de trucs dans mon fichier .htaccess, avec RewriteCond et RewriteRule avec plus ou moins de reussite :

1) ca marche pas du tout...

Les url non valides sont renvoyées vers la bonne vielle page 404 et pas mon redirect.php...

2) ca marche trop bien :)

Dans ce dernier cas même les url valides sont renvoyées vers mon redirect.php :(


Pouvez vous m'aider s'il vous plais ?

(j'espère avoir été assez clair dans mon explication)

Morning
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 15 Mar 2006

Message le Mer Mar 15, 2006 18:25

Voila un de mes tests qui ne fonctionne pas

RewriteEngine on
RewriteCond %{REQUEST_URI} !-U
RewriteRule ^/(.*) /redirect.php?var=$1


Ici ca part sur la page 404 par défaut et pas sur redirect.php...


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Mer Mar 15, 2006 18:26

Si j'ai bien compris tu souhaite activer le mode rewrite que pour les adresses qui n'existe pas, et pas pour les autres !
Code: Tout sélectionner
ErrorDocument 404  (.*) http://www.exemple.com/redirect.php?var=$1


Je sais pas si cela marche essai quand meme !

Morning
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 15 Mar 2006

Message le Mer Mar 15, 2006 18:40

mmm non la a passe pas du tout :)

Ca me plante ispman

La syntaxe doit pas être bonne...

Merci quand même :)


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Mer Mar 15, 2006 18:44

J'ai fait une recherche avec ErrorDocument
J'ai rien trouvé pour personnaliser l'erreur 404 en fonction de ce qu' avait entré l'utilisateur pour l adresse.
A mon avie c'est pas possible avec l' ErrorDocument

Mais DSL je vois pas
Sinon la bonne structure pour l' ErrorDocument c'est
Code: Tout sélectionner
ErrorDocument 404 http://www.exemple.com/404.php


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Message le Mer Mar 15, 2006 19:05

Il suffit juste de l'envoyer vers une page error404 et dedans pour connaitre la provenance utiliser, en php
Code: Tout sélectionner
$_SERVER["REQUEST_URI"]
Et ensuite, soit envoyer un mel, si pas beaucoup, soit créer une interface de visualisation avec log ou bdD

Morning
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 15 Mar 2006

Message le Mer Mar 15, 2006 19:45

Leonick a écrit:Il suffit juste de l'envoyer vers une page error404 et dedans pour connaitre la provenance utiliser, en php
Code: Tout sélectionner
$_SERVER["REQUEST_URI"]
Et ensuite, soit envoyer un mel, si pas beaucoup, soit créer une interface de visualisation avec log ou bdD


Quand je fais ça je récupère /redirect.php et pas ce que le gars à tapper...

Morning
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 15 Mar 2006

Message le Mer Mar 15, 2006 20:11

oki j'ai trouvé
je poste mon truc au cas ou ca puisse servir à quelqu'un :)

RewriteEngine on
RewriteRule ^/([A-za-z0-9]+)$ http://www.monsite.com/redirect.php?var=$1 [QSA,NC,L]

:o


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Mer Mar 15, 2006 21:44

Morning a écrit:oki j'ai trouvé
je poste mon truc au cas ou ca puisse servir à quelqu'un :)

RewriteEngine on
RewriteRule ^/([A-za-z0-9]+)$ http://www.monsite.com/redirect.php?var=$1 [QSA,NC,L]

:o


C'est une redirection banal mais c'est pas trop la fonction souhaité.
Tu as une erreur 404 tu devrais retourner sur une erreur 404.
En faite dans ton cas il n'y aura jamais d' erreur 404 tu sera dans tout les cas redirigé vers redirect.php?var=
Mais bon si ca marche c'est l 'essentiel :roll:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité