Rechercher : dans
Par :

[Apache2]URL-Rewriting pour des sous-domaines

Dernière réponse le 4 fév 2009 à 09:56:55 CactO_o's, le 3 fév 2009 à 10:38:49 
 Signaler ce message aux modérateurs

Bonjour à tous !!

Je suis actuellement en train de monter un site-web et j'aurais besoin de créer des sous-domaines dynamiquement.
Je me suis donc pencher sur l'URL-Rewriting et j'ai trouvé ce bout de code (que je comprend à moitier vu que je n'en ai jamais fait :s )

RewriteEngine On
# Skip www.domain.com
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.domaine\.com
RewriteRule ^/(.*)$  /home/%1/www/$1 [L]


A ce que je comprend, le code revoit toutes les adresses (à par www) du type http://xxx.domaine.com vers /home/xxx/www/

Premier problème :
Dans ma redirection il faudrait que je donne des cas spécifiques qu'il redirigerait différement, j'ai essayer de faire un code approximatif en espérant vous faire comprendre :

# ne pas rediriger
# http://www.domaine.com 
RewriteCond %{HTTP_HOST} !^www\.    

# spéciaux
# http://extranet.domaine.com --> http://www.domaine.com/extranet/
# http://admin.domaine.com --> http://www.domaine.com/admin/
RewriteCond %{HTTP_HOST} extranet\.domaine\.com  
RewriteRule ^/(.*)$  /var/www/extranet/$1 [L]
RewriteCond %{HTTP_HOST} admin\.domaine\.com  
RewriteRule ^/(.*)$  /var/www/admin/$1 [L]

# dynamique
# http://*.domaine.com --> http://www.domaine.com/clients/*/
RewriteCond %{HTTP_HOST} ^([^.]+)\.domaine\.com
RewriteRule ^/(.*)$  /var/www/cliens/%1/$1 [L]


Est que mon code tend vers le bon ou je me plante complet ???

Deuxième problème : Pour des problèmes de budget je vais faire les tests et le développement sur ma machine, sur un serveur lamp que j'ai monté (Ubuntu 8.10 64bits KDE4.2). Le problème c'est que je ne pourrais donc pas tester les sous-domaines ?!

A moins que je puisse rédiriger dans les deux cas, par exemple :

http://xxx.domaine.com --> /var/www/clients/xxx
http://xxx.localhost --> /var/www/clients/xxx

J'imaginais quelque chose comme le code ci-dessous à rajouter après :

# Skip localhost
RewriteCond %{HTTP_HOST} ^([^.]+)\.localhost
RewriteRule ^/(.*)$  /var/www/client/%1/$1 [L]


Est-ce possible ?? Sinon comment m'y prendre ??

J'espère avoir été le plus clair possible afin de me faire comprendre...

Merci d'avance à tous !
Configuration: Linux
Firefox 3.0.5

Meilleures réponses pour « [Apache2]URL Rewriting pour des sous domaines » dans :
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Prendre un nom de domaine VoirPrendre un nom de domaine pour son entreprise Un nom de domaine est une adresse Internet qui permet d'accéder à un site web. C'est un nom alphabétique associé à une extension. L'adresse du site de votre entreprise prend la forme de : www.votre-nom...
[Réseaux] Forcer un nom de domaine avec le fichier hosts VoirLe fichier hosts permet de définir manuellement une adresse IP pour un hôte du réseau repéré par un nom de domaine. Concernant Windows, l'emplacement du fichier hosts dépend de la version de utilisée...
Télécharger URL Fixer VoirEn saisissant l'adresse Url d'un site ou page web, il est assez fréquent que vous commettiez une erreur. URL Fier est une extension pour Mozilla Firefox permettant de corriger les erreurs de saisie que vous pourriez faire dans la barre d'adresses....
Télécharger URL File Editor VoirPour l’exécution de certains fichiers interactifs, il est nécessaire de se connecter à Internet. Ces fichiers sont redirigés directement à un lien Internet prédéfini par l’éditeur du fichier. URL File Editor est comme son nom...
Webmastering - Nom de domaine VoirQu'est-ce qu'un nom de domaine ? Un site internet est défini par son URL. Ainsi, un site hébergé par un hébergeur gratuit (par exemple un fournisseur d'accès à internet) possède généralement une adresse du type : http://www.votre...
DNS (Système de noms de domaine) VoirQu'appelle-t-on DNS ? Chaque ordinateur directement connecté à internet possède au moins une adresse IP propre. Cependant, les utilisateurs ne veulent pas travailler avec des adresses numériques du genre 194.153.205.26 mais avec un nom de domaine...
URL VoirQu'est-ce qu'une URL? Une URL (Uniform Resource Locator) est un format de nommage universel pour désigner une ressource sur Internet. Il s'agit d'une chaîne de caractères ASCII imprimables qui se décompose en cinq parties : Le nom du...

1

CactO_o's, le 3 fév 2009 à 10:39:54

UP

Répondre à CactO_o's

2

 CactO_o's, le 4 fév 2009 à 09:56:55

UP please !!


J'ai du nouveau :

Je viens de me prendre un compte 60GP (OVH) avec comme nom de domaine www.cactoos.org (60gp.ovh.net/~cactoos )...
Je voudrais que tous les sous-domaines *.cactoos.org soit rediriger vers www.cactoos.org.

J'ai appris que serveur mutualisé de OVH ne permet pas de faire ça, j'ai donc pris un compte chez gandi.net avec comme nom de domaine www.kreatoo.org.
Je voudrais donc que tous les sous-domaines *.kreatoo.org soit renvoyer sur mon serveur 60gp.ovh.net/~cactoos afin de pouvoir les retoucher en URL-Rewriting... (récupérer les sous-domaines dynamiquement, ainsi que la page demandé)

Je suis un peut aller voir mais je me pert un peut entre les redirection, les DNS de type A, de type
CNAME, etc....

Que dois-je fais pour rediriger depuis le nom de domaine vers l'hébèrgement en wildcard (*.kreatoo.ord) ??

Voici le code que j'ai mis à la racine du serveur (pour l'url rewriting) : (.htaccess)

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^test\.
RewriteCond %{HTTP_HOST} ^([^.]+)\.kreatoo\.org

RewriteRule ^$ index.php?sous_domaine=%1
RewriteRule ^([^.]+).html$ index.php?sous_domaine=%1&page=$1 [L]

Est-ce bon ???

Merci à tous pour votre aide !

Répondre à CactO_o's