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

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 :-)
 
Salut,
donc en gros, http://www.example.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 ?
++
 
Je pense qu'il veut tout simplement utiliser index.php comme "front controller" et ainsi parser le REQUEST_URI pour le routage d'URLs.
 
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.
 
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 ?
 
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'] !!
 
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
 
dans l'url rewriting classique à base de .htaccess, tu as bien le $_server['request_uri'] voulu dans ton script index.php
 
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
 
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 ;-)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut