[.htaccess] Comportement curieux d'un rewrite

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


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

[.htaccess] Comportement curieux d'un rewrite

Message le Jeu Déc 21, 2006 10:56

Bonjour,

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
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Jeu Déc 21, 2006 13:15

Peut-être que ça ne changera rien mais j'aurais vu une règle comme ça :
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é
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Message le Jeu Déc 21, 2006 14:17

J'ai essayé ce genre de variante, sans succès.

Pourtant je connais l'url rewriting ! J'en deviens fou.

Les seules différences, je travaille sur un port spécifique :1000 et je suis dans un sous-répertoire.


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Message le Jeu Déc 21, 2006 14:48

Pourquoi http://www.example.com/dossier/

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) ""


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é