IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL rewriting] Mettre le domaine en paramètre


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut [URL rewriting] Mettre le domaine en paramètre
    Bonjour...


    bon je demande car mes recherche sur commen passer le nom de domaine en parametre à un script php sont floodé par comment rediriger les sous domaines .. ^^'


    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RewriteEngine On
    RewriteCond %{PATH_INFO} ^(?:index\.php)?$ [C]
    RewriteCond %{HTTP_HOST} (\w+)\.(fr|com|org|net|info)$ [C]
    RewriteRule ^(.*)$ /$1?user=%1 [QSA]
    Il faudrai qu'il me refile le nom de domaine et que ça ne marche pas si c'est une adresse ip :/

    Quelqu'un sait le pourquoi que ça marche pas comme ça ?

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est quoi le [C] dans les RewriteCond ? Ce n'est pas un drapeau reconnu, c'est peut-être à cause de ça

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    Merci pour ta reponsse;
    bin c'est pas pour chainer les regles? (je suis total naab en url rewriting mais ça n'a pas l'air si mechant que ça pourtant :s.. )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine On
    RewriteCond %{PATH_INFO} ^(?:index\.php)?$
    RewriteCond %{HTTP_HOST} ([^.]+).(?:fr|com|org|net|info)$
    RewriteRule ^(.*)$ /$1?user=%1 [QSA]

    Marche pas mieux.. je suis sur un vserv ovh.. ça joue ?

    Toujour pareil internal server error

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    bon effectivement il faut rajouter un slash pour ovh .. mais il ne marche tjr pas .. il ne match pas... mon script ne reçoi pas le parametre.. :s

    sa donne ça.. ça a enlevé lerreur serveur.. mais no match ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine On
    RewriteCond %{HTTP_HOST} (\w+)\.(?:fr|com|org|net|info)$
    RewriteRule ^/(.*)$ /$1?user=%1 [QSA]

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ton truc part en boucle infinie car l'URL après la première réécriture valide de nouveau la condition et le masque du RewriteRule. Il faut ajouter une condition pour sortir de la boucle après la première réécriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{QUERY_STRING} !user=
    RewriteCond %{HTTP_HOST} (\w+)\.(?:fr|com|org|net|info)$
    RewriteRule ^/(.*)$ /$1?user=%1 [QSA]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    je comprend pas ................ il ne match pas plus ... c'est irritant et assé emerdant je peut pas référencer correctement sans ça :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RewriteEngine On
    RewriteCond %{QUERY_STRING} !user\=
    RewriteCond %{HTTP_HOST} (\w+)\.(?:fr|com|org|net|info)$
    RewriteRule ^/(.*)$ /$1?user=%1 [QSA]

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il se passe quoi, exactement ? Quel est le message d'erreur qui s'affiche dans ton navigateur ? J'ai fait un test avec Wamp hier soir et la conf que j'ai donnée marchait modulo le / que j'ai dû enlever. Avec elle est un script index.php qui fait un simple print_r($_GET) et l'URL http://www.localhost.com/ (qui est redirigé vers mon Wamp, bien sûr), j'obtenais user = localhost, ce qui est logique vu ton RewriteCond (%1 correspond à bloc juste avant le .com, donc localhost).

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    bin il match pas .. j'ai fait pareil que toi a peu prés... J'ai ecrit ça (vite fait):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var param_temp = ((window.location.search).substr(1)).split('*');
    params = {'user':''};
    for (o in param_temp){
    		param_temp[o] = String(param_temp[o]).split('=');
    		params[param_temp[o][0]] = param_temp[o][1];
    }
    if (params.user == '') {
    	<?php echo "params.user = \"".$_GET['user']."\";"; ?>
    }
    if (params.user == '' && /^(?:http\:\/\/)?(?:\w+\.)?(\w+)\.(?:fr|com|org|info).*/.test(window.location)){
    	params.user = (""+window.location).replace(/^(?:http\:\/\/)?(?:\w+\.)?(\w+)\.(?:fr|com|org|info).*/g, "$1");
    	window.status = 'user not def got it from js';
    }else window.status = 'user def from rewriting!!!! ;)';
    Bin ça marche pas ... je croi que je peu le fair depuis php à la limite .. mais bon .. j'aurai tout un tas de trucs a rajouter enssuite pour paralleliser mon site ajax pour les bots... je prefererai que ce genre de chose reste dans le htaccess..

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/12/2012, 12h21
  2. [URL Rewriting] Réécriture pour domaine chez 1&1
    Par Jonas7 dans le forum Apache
    Réponses: 6
    Dernier message: 02/09/2008, 09h26
  3. Réponses: 2
    Dernier message: 28/02/2008, 16h03
  4. URL rewriting et sous-domaine
    Par DeezerD dans le forum Apache
    Réponses: 2
    Dernier message: 29/09/2007, 20h09
  5. [Apache] URL Rewriting et sous domaines
    Par goldorax113 dans le forum Apache
    Réponses: 6
    Dernier message: 10/05/2006, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo