sparh Posté 14 Novembre 2013 Partager Posté 14 Novembre 2013 Bonjour, donc j'ai mon domaine principal : domaine.com, sur mon serveur il se trouve dans le répertoire /www/. J'ai crée un sous domaine : s.domaine.com qui sur mon serveur se trouve dans le dossier /www/s J'ai mis un fichier .htaccess à la racine de mon sous-domaine à savoir /www/s/.htaccess Cette règle fonctionne très bien : RewriteRule Admin/Clients/$ Admin/Utilisateurs/index.php?type=client [L] Par contre celle-ci ne marche pas : RewriteRule Admin/Clients/detail.php?id=([0-9]+)$ Admin/Utilisateurs/detail.php?id=$1&type=client [L] J'ai aussi essayé sans succès : RewriteRule Admin/Clients/detail.php?id=([0-9]+)$ s/Admin/Utilisateurs/detail.php?id=$1&type=client [L] RewriteRule Admin/Clients/detail.php?id=([0-9]+)$ /s/Admin/Utilisateurs/detail.php?id=$1&type=client [L] RewriteRule Admin/Clients/detail.php?id=([0-9]+)$ /Admin/Utilisateurs/detail.php?id=$1&type=client [L] Auriez-vous une idée ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ernestine Posté 14 Novembre 2013 Partager Posté 14 Novembre 2013 Si tu as des paramètres à gauche, il faut utiliser QUERY_STRING : RewriteCond %{QUERY_STRING} id=([0-9]+) RewriteRule index.php$ index.php?id=%1&type=client [L] Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 14 Novembre 2013 Auteur Partager Posté 14 Novembre 2013 Merci beaucoup Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ciseur Posté 15 Novembre 2013 Partager Posté 15 Novembre 2013 Hello, J'en profite pour t'alerter sur la structure de répertoire sur ton serveur. Fait bien attention à ce que les contenus de ton sous domaines ne soit pas accessible également sur ton domaine principal. Concrètement, j'ai peur que ces deux URL donne la même réponse : http://www.domaine.com/s/exemple.html http://s.domaine.com/exemple.html En espérant t'aider, Ciseur Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 16 Novembre 2013 Auteur Partager Posté 16 Novembre 2013 Re, et merci mais ça j'y ai pensé. Je le test en php dans le header de chaque page. Y'a t'il un moyen de le faire via htaccess ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 16 Novembre 2013 Partager Posté 16 Novembre 2013 Dans un .htaccess à la racine du sous-domaine s.domaine.com : RewriteCond %{HTTP_HOST} !s\.domaine\.com RewriteRule /?s/(.*) http://s.domaine.com/$1 [QSA,L] Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 18 Novembre 2013 Auteur Partager Posté 18 Novembre 2013 Merci Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ciseur Posté 18 Novembre 2013 Partager Posté 18 Novembre 2013 Bien noter que ce système t'empêche d'avoir des URL du type nomdedomaine.tld/s/* sur ton domaine principal Ce qui ne te posera pas forcément de souci mais je préfère préciser au cas où cette réponse est utile à d'autres. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 18 Novembre 2013 Partager Posté 18 Novembre 2013 Comme /s/ est le répertoire du sous-domaine, cela ne devrait pas poser de problème et aucune URL sous la forme nomdedomaine.tld/s/* ne sera logiquement utilisée. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 18 Novembre 2013 Auteur Partager Posté 18 Novembre 2013 Tout à fait (le répertoire /s/ n'est jamais appelé depuis un répertoire parent). Merci de l'avoir précisé quand même. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 9 Janvier 2014 Auteur Partager Posté 9 Janvier 2014 (modifié) Bonjour, désolé je revient sur le sujet mais je n'arrive pas à faire fonctionner le code de Dan plus haut (on ne peux pas accéder à domaine.com/s mais c'est ma sécurité en php et non le fichier htaccess qui bloque l'accès) Je souhaite qu'on ne puisse pas accéder aux sous-domaines via leurs nom de dossier. Ex : s.mon-domiane.com ne doit pas être accessible depuis mon-domaine.com/s J'ai donc mis : RewriteCond %{HTTP_HOST} !s\.mon-domaine\.com RewriteRule /?s/(.*) http://s.mon-domaine/$1 [QSA,L] dans le fichier htaccess à la racine de mon dossier /s/ J'ai tenté différentes choses mais à part crée des erreurs 500 rien à faire. Merci d'avance Modifié 9 Janvier 2014 par sparh Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 10 Janvier 2014 Partager Posté 10 Janvier 2014 RewriteCond %{HTTP_HOST} !s\.mon-domaine\.com RewriteRule /?s/(.*) http://s.mon-domaine/$1 [QSA,L,R=301] Tout simplement non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 10 Janvier 2014 Auteur Partager Posté 10 Janvier 2014 Bonjour et merci d'avoir regardé mais non je l'ai essayé aussi et ça ne change rien Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Janvier 2014 Partager Posté 10 Janvier 2014 Peut-être que tu hérites des règles du niveau supérieur, qui interfèrent avec celle-ci. Fais-moi connaître le nom de ce domaine/sous-domaine par MP, que je regarde ça. Ça devrait fonctionner ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Janvier 2014 Partager Posté 10 Janvier 2014 La règle suivante fonctionne : RewriteCond %{HTTP_HOST} !s\.domaine\.ch RewriteRule (.*) http://s.domaine.ch/$1 [QSA,L] C'est /s/ qui n'est pas transmis lors de la réécriture. Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 10 Janvier 2014 Auteur Partager Posté 10 Janvier 2014 Merci Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant