[HELP] Rediriger n'importe quelle url vers l'index d'un répertoire

WRInaute occasionnel
Bonjour,

Bientôt chauve à force de m'arracher les cheveux la dessus, j'en appelle à la communauté sensible aux problèmes de calvitie prématurée :)

J'aimerais que toutes les urls de type :
-http://www.monsite.com/mon-repertoire/blabla/bloublou-crapaud-belette/renard-des-sables/etc

affiche la page
-http://www.monsite.com/mon-repertoire/index.php

ATTENTION : je ne souhaite pas tout rediriger vers la page index.php mais bien afficher index.php tout en récupérant le $_server['request_uri'].

Dans mon exemple précédent, je veux donc appeler la page -http://www.monsite.com/mon-repertoire/index.php qui va récupérer un $_server['request_uri'] = "/mon-repertoire/blabla/bloublou-crapaud-belette/renard-des-sables/etc"

Merci d'avance :)
 
WRInaute impliqué
Salut,
donc en gros, http://www.exemple.com/repertoire/index.htm pourra afficher 2 contenus différents ? :\
Ça me semble prometteur en problèmes, notamment pour le visiteur (comment faire page précédente si les 2 URL sont les mêmes ?), mais aussi pour le référencement…
Sinon, je ne suis même pas sûr que ce soit possible… Ça m'évoque un peu les frames, si tu connais ?

je ne souhaite pas tout rediriger vers la page index.php
c'est ce que comprendront les moteurs de recherche…

À moins que je n'aie pas compris quelque chose ?
++
 
WRInaute accro
Je pense qu'il veut tout simplement utiliser index.php comme "front controller" et ainsi parser le REQUEST_URI pour le routage d'URLs.
 
WRInaute occasionnel
spout a dit:
Je pense qu'il veut tout simplement utiliser index.php comme "front controller" et ainsi parser le REQUEST_URI pour le routage d'URLs.

exactement. En fait je parse un flux xml qui me demande le request_uri pour m'envoyer les infos catalogues de la catégorie voulu.
 
WRInaute impliqué
dop20vt a dit:
ATTENTION : je ne souhaite pas tout rediriger vers la page index.php mais bien afficher index.php tout en récupérant le $_server['request_uri'].

à mon avis, ce n'est pas possible sans tout rediriger vers la page index.php. pourquoi ne le souhaites-tu pas ?
 
WRInaute occasionnel
baud74 a dit:
dop20vt a dit:
ATTENTION : je ne souhaite pas tout rediriger vers la page index.php mais bien afficher index.php tout en récupérant le $_server['request_uri'].

à mon avis, ce n'est pas possible sans tout rediriger vers la page index.php. pourquoi ne le souhaites-tu pas ?

Parce que j'ai besoin de récupérer la valeur de $_server['request_uri'] !!
 
WRInaute occasionnel
En fait c'est le caractère "." qui me pourri la vie.

Si je fais :
RewriteRule ^[a-zA-Zé0-9/+\-_:=;]+$ /mon-dossier/ [L]
ou bien
RewriteRule ^[^.]+$ /mon-dossier/ [L]

Ca fonctionne. Le problème c'est que je peux être amené à inclure des points "." dans l'url (si le visiteur en inclut dans le champs recherche).

Dès que j'inclut le point dans les caractère autorisés j'ai le droit à "Internal Server Error".

Avec ca par exemple :
RewriteRule ^.+$ /mon-dossier/ [L]
ou
RewriteRule ^[^@]+$ /mon-dossier/ [L]


Peut être une option à rajouter pour autoriser le point ?!? J'ai déjà ca dans mon htaccess :
Options +FollowSymlinks -MultiViews
 
WRInaute impliqué
dans l'url rewriting classique à base de .htaccess, tu as bien le $_server['request_uri'] voulu dans ton script index.php
 
WRInaute occasionnel
baud74 a dit:
dans l'url rewriting classique à base de .htaccess, tu as bien le $_server['request_uri'] voulu dans ton script index.php

Oui dans mon script php de mon index.php je récupère bien le bon URI tant qu'il ne contient pas de point
 
WRInaute occasionnel
Bon et bien recherche fructueuse ce matin j'ai trouvé la solution il faut ajouter ces lignes dans le htaccess :

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

pour annuler le rewrinting sur les dossiers et fichiers valides.

Merci quand même au bonnes âmes ;-)
 
Discussions similaires
Haut