[.htaccess] Comportement curieux d'un rewrite
4 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
[.htaccess] Comportement curieux d'un rewrite
Bonjour,
Je deviens fou sur un test tout simple.
Mon .htaccess est placé dans /dossier/ qui existe donc réellement.
Pourquoi j'obtiens toujours le nom du script et nom celui de la page dans l'url ?
Je veux faire une règle tout simple...
Si http://www.example.com/dossier/nom-de-la-page.php
Alors rewrite /dossier/script.php?rewrite=nom-de-la-page
Si http://www.example.com/dossier/
Alors rien, (donc /dossier/index.php)
Merci.
Je deviens fou sur un test tout simple.
Mon .htaccess est placé dans /dossier/ qui existe donc réellement.
- Code: Tout sélectionner
Sur une requête du type : http://www.example.com/dossier/nom-de-la-page.php
// Test 1
RewriteRule (.*) index.php?rewrite=$1 [L]
// rewrite = index.php
// Test 2
RewriteRule (.*) x.php?rewrite=$1 [L]
// rewrite = x.php
Pourquoi j'obtiens toujours le nom du script et nom celui de la page dans l'url ?
Je veux faire une règle tout simple...
Si http://www.example.com/dossier/nom-de-la-page.php
Alors rewrite /dossier/script.php?rewrite=nom-de-la-page
Si http://www.example.com/dossier/
Alors rien, (donc /dossier/index.php)
Merci.
Dernière édition par dorian53 le Jeu Déc 21, 2006 16:47, édité 2 fois.
- magic corp.
- WRInaute occasionnel

- Messages: 428
- Inscription: 17 Juin 2004
Peut-être que ça ne changera rien mais j'aurais vu une règle comme ça :
Ou
- Code: Tout sélectionner
RewriteRule (.*)\.php /dossier/index.php?rewrite=$1 [L]
Ou
- Code: Tout sélectionner
RewriteRule /(.*)\.php /dossier/index.php?rewrite=$1 [L]
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Pourquoi http://www.example.com/dossier/
Rentre dans cette règle puisque j'exige au moins un caractère avec + ?
SI je comprends bien il prend le DirectoryIndex mais pourquoi ?
Curieux parce qu'avec .* au lieu de .+ il ne renvoie plus index.php ?
Rentre dans cette règle puisque j'exige au moins un caractère avec + ?
- Code: Tout sélectionner
// .htaccess à la racine pour tester
RewriteRule ^dossier/(.+)\.php$ /index.php?var=$1 [L]
- Code: Tout sélectionner
var_dump($var)
//string(9) "index.php"
SI je comprends bien il prend le DirectoryIndex mais pourquoi ?
Curieux parce qu'avec .* au lieu de .+ il ne renvoie plus index.php ?
- Code: Tout sélectionner
// .htaccess à la racine pour tester
RewriteRule ^dossier/(.*)\.php$ /index.php?var=$1 [L]
- Code: Tout sélectionner
var_dump($var)
//string(0) ""
4 messages
• Page 1 sur 1
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 :
- Curieux comportement de yahoo
- Curieux comportement des datacenters.
- htaccess : comportement étrange
- htaccess rewrite 301
- Exclure un répértoire de URL REWRITE .htaccess
- [url Rewrite OVH] Problème .htaccess
- [resolu]rewrite .asp sans .htaccess
- champ d'action du rewrite selon le répertoire du .htaccess
- [URL Rewrite] configuration .htaccess pour redirectio,
- [réglé] Easyphp 1.7, Rewrite Et Htaccess, comment faire ?
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
