Rechercher : dans
Par :

Htaccess et RewriteCond non pris en compte

Dernière réponse le 28 oct 2008 à 09:20:17 dedale82, le 27 oct 2008 à 16:02:02 
 Signaler ce message aux modérateurs

Bonjour,

J'essaye de mettre en place une réécriture d'url pour mon site, mais je rencontre des difficultés.
La redirection ne doit pas être la même en fonction de l'environnement dans lequel on se trouve.
J'effectue le test suivant :

RewriteEngine On

#Lorsqu'on est sur localhost, on redirige vers le script /misc/user/client/index.php
RewriteCond %{HTTP_HOST} localhost [NC]
RewriteRule ^doo/([^/]+)/([^/]+)$ /misc/user/client/doo/$1/$2/
RewriteRule ^doo/([^/]+)/([^/]+)/ /misc/user/client/index.php?class=$1&method=$2&%{QUERY_STRING} [L]

#Lorsqu'on est sur le serveur de prod, on redirige vers le script /user/client/index.php
RewriteCond %{HTTP_HOST} server.com [NC]
RewriteRule ^doo/([^/]+)/([^/]+)$ /user/client/doo/$1/$2/
RewriteRule ^doo/([^/]+)/([^/]+)/ /user/client/index.php?class=$1&method=$2&%{QUERY_STRING}

Seule la première condition est prise en compte, même si j'inverse les directives RewriteCond.

Est ce que je fais quelque chose de travers? Est ce que quelqu'un a déjà eu ce problème?

Merci d'avance

Meilleures réponses pour « Htaccess et RewriteCond non pris en compte » dans :
Invite de commandes - Espaces non pris en charge VoirVous souhaitez effectuer une commande qui nécessite de spécifier un chemin, mais celui-ci comporte un espace sur un dossier.   Exemple Vous souhaitez effectuer une copie d'un répertoire à un autre : copy c:\dossier à copier\ e:\dossier de...

1

briiiiix, le 27 oct 2008 à 16:07:19

Tu peux nous donner des exemples de rewriting ?
cad une url originale et une url comme tu la veux.

On essairas donc de recréer des regles plus simples que ça

Répondre à briiiiix

2

dedale82, le 27 oct 2008 à 18:01:27

Bonsoir,


Je souhaiterai que les urls de type : http://localhost/misc/user/client/doo/class/method/
pointent vers des urls de type : http://localhost/misc/user/client/index.php?class=class_name&method=method_name

Et pour le cas du serveur de prod, que les urls de type http://serveur.com/user/client/doo/class/method/
pointent vers des urls de type : http://localhost/user/client/index.php?class=class_name&method=method_name

Merci d'avance

Répondre à dedale82

3

briiiiix, le 27 oct 2008 à 22:46:06

J'aoi bien fait les tests avec ça et lorsque je suis sur localhost, le serveur me dirige vers /misc/user/client/index.php
C'est pas si compliqué.
Enfin si j'ai bien compris ta demande

#--------------------------------------------------
# Répertoire : /
#--------------------------------------------------

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine on

#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

# localhost :
RewriteRule ^$ /misc/user/client/index.php [L]

# prod :
RewriteRule ^$ /user/client/index.php [L]

Répondre à briiiiix

4

 dedale82, le 28 oct 2008 à 09:20:17

Bonjour,

Ma demande ne concernait pas les RewriteRules qui fonctionnent comme je le souhaite mais sur le fait que les RewriteCond ne sont pas prises en compte.

Merci d'avance

Répondre à dedale82