Pointer un nom de domaine vers un dossier (serveur dédié)

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

playactu
Nouveau WRInaute
 
Messages: 25
Inscription: Jeu Nov 09, 2006 9:21

Pointer un nom de domaine vers un dossier (serveur dédié)

Message le Mer Avr 09, 2008 14:11

Bonjour tout le monde,
voici ma question

J'aimerais faire pointer des noms de domaines vers des dossiers (qui sont virtuels ,qui n'existent pas en dur , je ne pense pas que cela soit déterminant)

www.siteprincipal.com possede des utilisateurs : user1, user2.

Les utilisateurs créent leurs site accessible à cette adresse.
www.siteprincipal.com/user1/
www.siteprincipal.com/user2/

Ensuite j'ai les noms de domaines de user1, et user2, ils pointent sur mon dédié gentoo.
je veux faire pointer www.user1.com sur www.siteprincipal.com/user1/ et que cela continue sans probleme.

Exemple:
www.user1.com sur www.siteprincipal.com/user1/
www.user1.com/page.html sur www.siteprincipal.com/user1/page.html

Comment dois je m'y prendre ?

Merci de votre aide.

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Message le Mer Avr 09, 2008 15:22

Ben faut paramétrer ton serveur HTTP à la volée. Rajouter un VirtualHost pour chaque utilisateur...

Ou alors, faire un VirtualHost qui accepte tous les domaines, et en PHP vérifier quel domaine a été demandé puis balancer le script attendu.

playactu
Nouveau WRInaute
 
Messages: 25
Inscription: Jeu Nov 09, 2006 9:21

Message le Mer Avr 09, 2008 15:52

merci flobaoti de ta réponse.

Peut on en faire un ensemble, me dire la marche à suivre sans qu'on automatise. Disons alors que le site à un seul user.

www.siteprincipal.com/user1/

je veux faire pointer www.lesiteuser1.com sur www.siteprincipal.com/user1/


Pour continuer sur ma problématique voici comment est généré le dossier /user1/.
Morceau de mon htaccess

RewriteRule ^([a-z]*)\/index.html$ /index.php?user=$1 [QSA,L]



Merci de ton aide, et de ceux qui m'aideront à avancer.
En procédant comme cela, je pourrai mieux comprendre, puis voir ensuite par mes soins comment automatiser la chose.

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Message le Mer Avr 09, 2008 16:05

Il faudrait un bout de la configuration de ton Apache pour voir...

playactu
Nouveau WRInaute
 
Messages: 25
Inscription: Jeu Nov 09, 2006 9:21

Message le Mer Avr 09, 2008 16:17

quel fichier voudrais tu regarder ?

Pour enregistrer des domaines sur mon dédié, je passe toujours par l'application webmin (ovh) présente, je me soucie donc jamais des fichiers apache à configurer...

Merci encore de ton aide

playactu
Nouveau WRInaute
 
Messages: 25
Inscription: Jeu Nov 09, 2006 9:21

Message le Ven Avr 11, 2008 6:56

bon jai avancé sur mon problème mais reste désormais bloqué sur une regle htaccess

<VirtualHost *:80>
ServerAdmin webmaster@siteprincipal.com
DocumentRoot /home/principal/www
SuexecUserGroup principal users
ServerName www.siteprincipal.com
ServerAlias siteprincipal.com
CustomLog logs/principal-access_log combined
ScriptAlias /cgi-bin/ /home/principal/cgi-bin/
AddHandler x-httpd-php5 .php
</VirtualHost>

J'ai donc créé un site secondaire accessible par l'url : www.siteprincipal.com/secondaire sans aucun probleme.

Voici la règle de mon htaccess
RewriteRule ^([a-z]*)\/$ /interface/index.php?site_titre=$1 [QSA,L]

Le dossier secondaire n'existe pas, c'est donc la premiere variable qui est envoyé à site_titre

J'ai acheté un second nom de domaine que j'ai configuré de la sorte :

<VirtualHost *:80>
ServerAdmin webmaster@sitesecondaire.com
DocumentRoot /home/principal/www/secondaire
SuexecUserGroup principal users
ServerName www.sitesecondaire.com
ServerAlias sitesecondaire.com
CustomLog logs/secondaire-access_log combined
ScriptAlias /cgi-bin/ /home/principal/cgi-bin/
AddHandler x-httpd-php5 .php
</VirtualHost>

En tapant www.sitesecondaire.com
The requested URL /interface/index.php was not found on this server.

L'erreur me fait comprendre que je dois changer mon .htaccess
RewriteRule ^([a-z]*)\/$ http://www.siteprincipal.com/interface/ ... e_titre=$1 [QSA,L]

je fais ca, la redirection marche alors, mais je perds completement le nom de domaine deblocage-code.com dans l'url...et je perds aussi la variable $_GET[site_titre] dans la page d'après...

Merci pour votre aide

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Message le Ven Avr 11, 2008 16:52

Salut,

J'ai lu rapidement ta config Apache, mais déjà je suis étonné qu'Apache accepte cette configuration si le dossier /home/principal/www/secondaire n'existe pas. Enfin soit, c'est pas tout à fait ce qu'il faut faire.

Le principe est que tous les noms de domaines devront pointer au même endroit, et c'est en PHP que tu devras gérer la page à afficher.

Donc soit tu crée un VirtualHost à chaque nouveau domaine (il y a moyen d'automatiser ça, mais bon...).
Soit tu fait un VirtualHost qui accepte tous les domaines.

Dans les 2 cas, le VirtualHost devra pointer à la racine de ton site.

Ensuite, le fichier index.php à la racine de ton site devra regarder quel HTTP_HOST est demandé, et afficher la page en conséquence.

Voilà j'espère t'avoir éclairé un peu plus. Je n'ai jamais fait ça en pratique, ça reste du théorique... mais ça devrait fonctionner :wink:

playactu
Nouveau WRInaute
 
Messages: 25
Inscription: Jeu Nov 09, 2006 9:21

Message le Sam Avr 12, 2008 9:09

Pourrais tu me montrer un exemple de ce que tu ferais dans l'index.php avec le HTTP_HOST ?

j'essaierai ensuite de voir par moi meme comment automatiser...

Sinon j'essaie d'avancer egalement de mon coté, et dis moi stp si tu as une idée du pourquoi de mes bugs ? ;)

il y a quelque chose que je comprends pas (reprenons le htaccess d'origine)
dans le virtualhost d'origine je change l'emplacement vers le dossier existant

<VirtualHost *:80>
ServerAdmin webmaster@sitesecondaire.com
DocumentRoot /home/principal/www/interface
SuexecUserGroup principal users
ServerName www.sitesecondaire.com
ServerAlias sitesecondaire.com
CustomLog logs/secondaire-access_log combined
ScriptAlias /cgi-bin/ /home/principal/cgi-bin/
AddHandler x-httpd-php5 .php
</VirtualHost>

Il y a un fichier index.php à l'intérieur

Je tape www.sitesecondaire.com -> j'obtiens l'erreur suivante : The requested URL /interface/index.php was not found on this server.

Je tape www.sitesecondaire.com/index.php -> la page index.php est interprété mais elle plante car elle ne recoit pas l'id du site

Ma question numéro 1 est pourquoi me dit il que la page n'existe pas alros que lorsque je la tape, il la trouve ?

je tape www.sitesecondaire.com/index.php?site_t ... blocageall --> la page s'affiche

Ma question numéro 2, est il possible de définir entre les balises <VirtualHost *:80> </VirtualHost> ma variable site_titre ?

Merci de ton aide FloBaoti

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Message le Sam Avr 12, 2008 12:24

playactu a écrit:Pourrais tu me montrer un exemple de ce que tu ferais dans l'index.php avec le HTTP_HOST ?

Euh ben tout simplement:
Code: Tout sélectionner
<?php
if($_SERVER['HTTP_HOST'] == 'sitesecondaire1.com')
{
$site = 'bla';
}
else if(...)
{
...
}
?>

Tu peux par exemple avoir une requete MySQL pour aller voir à quel utilisateur appartient tel domaine. Puis à la fin de toutes les conditions, inclure la page qui affiche ce qu'il faut.

playactu a écrit:j'essaierai ensuite de voir par moi meme comment automatiser...

Il s'agit en fait d'éditer ton fichier de configuration Apache, et de recharger la configuration (/etc/init.d/apache reload sous Debian par exemple...)

playactu a écrit:Je tape www.sitesecondaire.com -> j'obtiens l'erreur suivante : The requested URL /interface/index.php was not found on this server.

C'est "normal". Tu as un .htaccess dans le dossier parent (dossier du dessus). Et par défaut, Apache fait hériter les .htaccess aux dossiers de la branche inférieure.
Donc solution: mettre un .htaccess dans ton dossier /interface/ avec:
RewriteEngine Off
par exemple si tu n'as plus besoin de rewriting...

playactu a écrit:Je tape www.sitesecondaire.com/index.php -> la page index.php est interprété mais elle plante car elle ne recoit pas l'id du site

C'est justement cette page qu'il faudra modifier pour savoir de quel site on parle (le HTTP_HOST...)...

playactu a écrit:Ma question numéro 2, est il possible de définir entre les balises <VirtualHost *:80> </VirtualHost> ma variable site_titre ?

Ca doit être possible oui... regarde du côté des variables d'environnement Apache...
Ca éviterait effectivement une requête à la base de données...

@+


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Apps Edition Premium, Google Health



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités