Bonjour,
J'ai une question à propos de mon fichier de réécriture d'url que je décris ci-dessous.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
########
# Admin : dans le cas ou mon url est de la forme
# www.monsite.com/admin/variable1/variable2/
# je redirige vers www.monsite.com/admin/variable1/index.php?Competition=variable2
########
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$
RewriteCond %{REQUEST_URI} admin/.*
RewriteRule ^admin/(.*)/(.*)/ /admin/$2/index.php?Competition=$1 [QSA,L]
 
########
# Tournois : dans le cas où on n'est pas en admin, j'ai une règle spécifique
# pour le répertoire tournoi
########
RewriteCond %{REQUEST_URI} !admin/.*
RewriteRule ^(.*)/tournois/([0-9]*)/ /php/tournois/classement.php?IdTournoi=$2&Competition=$1 [QSA,L]
RewriteRule ^(.*)/tournois/index.php php/tournois/index.php?Competition=$1 [QSA,L]
 
########
# Divers : si on n'est pas dans le répertoire admin ou include
# www.monsite.com/variable1/variable2/
# je redirige vers www.monsite.com/php/variable2/index.php?Competition=variable1
########
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$
RewriteCond %{REQUEST_URI} !admin/.*
RewriteCond %{REQUEST_URI} !include/.*
RewriteRule ^(.*)/(.*)/ php/$2/index.php?Competition=$1 [QSA,L]
 
########
# Divers : si on n'est pas dans le répertoire admin ou include
# www.monsite.com/variable1/
# je redirige vers www.monsite.com/index.php?Competition=variable1
########
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$
RewriteCond %{REQUEST_URI} !admin/.*
RewriteCond %{REQUEST_URI} !include/.*
RewriteRule ^(.*)/ index.php?Competition=$1 [QSA,L]



Le souci en fait c'est que l'url http:/www.monsite.com/admin/ligue1/tournois/
pointe sur http://www.monsite.com/php/tournois/
au lieu de http://www.monsite.com/admin/tournois/index.php

Je ne comprends vraiment pas, la 1ère règle devrait s'appliquer (et le L devrait faire que tout s'arrete ensuite, or c'est l'avant dernière règle qui entre en conflit)

Règle qui devrait s'appliquer
RewriteRule ^admin/(.*)/(.*)/ /admin/$2/index.php?Competition=$1 [QSA,L]

Or c'est celle ci qui s'applique
RewriteRule ^(.*)/(.*)/ php/$2/index.php?Competition=$1 [QSA,L]

Merci !
Julien