Recent Topics

1 Feb 06, 2006 13:15    

Bonjour,

J'aimerais savoir avec b2evo est que si j'ai un site http://www.monsite.com et j'aimerais que chaque personne qui crée son blog puissent le visualiser dans http://sonblog.monsite.com Est ce possible? il faut kel herbergeur pour faire cela ?

3 Feb 13, 2006 15:44

Une solution simple à votre problème: mod_rewrite.
Il faut pour cela avoir un site sous apache, avec mod_rewrite activé, et ce petit fichier .htaccess à la racine de b2evolution:


RewriteEngine On

#Pour ne pas modifier les accès à la racine 
#faire pareil pour tous les autres sous-domaines qui ne doivent pas etre redirigés
RewriteCond %{HTTP_HOST} ^monsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.monsite.com$
RewriteRule ^(.*)$ - [L]

#Un autre sous-domaine est demandé: c'est un blog
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+).monsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.([a-zA-Z0-9]+).monsite.com$
RewriteRule ^(.*)$ http://www.monsite.com/blogs/%1 [L]

Dans cet exemple B2evolution est installé dans /blogs/ et chaque utilisateur possède un blog auquel il accède via un fichier stub qui porte le nom de son pseudo.

Les sous-domaines doivent tous pointer vers le domaine principal pour que ça fonctionne de manière automatique, sinon il faut créer un sous-domaine à chaque fois.

Pour plus d'informations sur l'installation de ce genre de plate-forme voir ce topic: http://forums.b2evolution.net/viewtopic.php?t=7124

5 Feb 13, 2006 19:11

Pourrais tu être un tout petit peu plus précis stp?
Pourrais-tu préciser notamment:

    L'erreur répondue par apache[/list:u]
      L'URL affichée par le navigateur après redirection[/list:u]
        Le chemin de ton installation de b2evolution[/list:u]
          La façon dont tu as installé ta plate-forme (le hack que j'ai cité ou un autre)[/list:u] Voilà avec toutes ces infos ça sera beaucoup plus facile de voir d'où vient le pb! Bonne soirée

6 Feb 14, 2006 00:56

désolé pour le manque de détails

pour ce qui est de la redirection pour http://www.monsite.com/login
marche parfaitement:

le problème réside pour http://login.monsite.com

1- quand je tape http://login.monsite.com
l'erreur est "Impossible d'afficher la page" (je pense que c'est l'erreur 404)

2- le chemin d'installation ... est la racine.

3- pour l'installation:
J'ai suivi les étapes cités ici:http://forums.b2evolution.net/viewtopic.php?t=7124

et pour la redirection j'ai utilisé le hack que tu a donné :)

merci encore une fois

7 Feb 14, 2006 16:19

Mmmhhh pour ton installation à la racine il te faut combiner les deux fichiers htaccess en un seul et si possible dans le bon ordre ^^

Ca devrait donner ça (j'ai pas pu tester mais il n'y a pas de raison que ça ne fonctionne pas)


RewriteEngine On

#attention à bien changer monsie.com par l'adresse réelle !
#Pour ne pas modifier les accès à la racine
#faire pareil pour tous les autres sous-domaines qui ne doivent pas etre redirigés
RewriteCond %{HTTP_HOST} ^monsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.monsite.com$
RewriteRule ^(.*)$ - [L]

#Un autre sous-domaine est demandé: c'est un blog
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+).monsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.([a-zA-Z0-9]+).monsite.com$
RewriteRule ^(.*)$ http://www.monsite.com/%1 [L] 

#pour prendre en charge http://monsite.com/login
RewriteCond %{REQUEST_FILENAME}.php  -s
RewriteCond %{QUERY_STRING}  ^$
RewriteRule ([^-]+)  $1.php

Voilà pour le code, concrètement apache va voir si l'adresse tapée est de type monsite.com ou www.monsite.com, et dans ce cas il ne change rien, par contre si on a quelque chose de la forme login.monsite.com ou www.login.monsite.com ce sera modifié en www.monsite.com/login.
Enfin il va chercher si le dossier demandé n'existe pas avec l'extension .php et dans ce cas rediriger monsite.com/login vers monsite.com/login.php

Attention: pour fonctionner ce script a besoin d'utiliser un wildcard DNS (tous les sous-domaines redirigés vers le domaine principal), pour en être sûr essaie de supprimer le fichier htaccess puis de taper truc.monsite.com: tu devrais voir ton site.
Après avoir installé le fichier .htaccess regarde l'url affichée quand tu demandes login.monsite.com: ça doit afficher www.monsite.com/login ...

Une derniere précision: login doit etre composé uniquement de lettres et de chiffres pour que ce script fonctionne.

Bonne journée :!:

8 Feb 14, 2006 16:58

Merci pour la réponse.

Je pense que le probleme reside dans le "wildcard DNS" du moment ou cela ne marche pas !

cad quand je met 123456.monsite.com il donne .. erreur 404.

8|

9 Feb 28, 2006 11:28

Moi je tombe carément sur la page de l'hébergeur avec ceci, faut-t-il que dans le vhost je mettte en serveralias le *.galiblog.ath.cx pour que ceci fonctionne ?

10 Mar 01, 2006 05:29

Tout dépend de la configuration d'Apache sur le serveur de ton hébergeur, mais vérifie bien ton .htaccess d'abord, il devrait ressembler à ça:


RewriteEngine On

RewriteCond %{HTTP_HOST} ^galiblog.ath.cx$ [OR]
RewriteCond %{HTTP_HOST} ^www.galiblog.ath.cx$
RewriteRule ^(.*)$ - [L]

#Un autre sous-domaine est demandé: c'est un blog
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+).galiblog.ath.cx$ [OR]
RewriteCond %{HTTP_HOST} ^www.([a-zA-Z0-9]+).galiblog.ath.cx$
RewriteRule ^(.*)$ http://www.galiblog.ath.cx/%1 [L]

#pour prendre en charge http://monsite.com/login
RewriteCond %{REQUEST_FILENAME}.php  -s
RewriteCond %{QUERY_STRING}  ^$
RewriteRule ([^-]+)  $1.php 

Si ça ne marche toujours pas essaie d'utiliser la directive ServerAlias

11 Nov 01, 2006 23:52

Bonjour,

J'essaie de faire la même chose, mais j'arrive toujours sur une page d'erreur, aideàlanavigation de mon prestataire internet.

Pour l'instant, j'arrive seulement à faire une url du type :
http://mondomaine.net/login qui pointe sur http://mondomaine.net/monrep/login/

Mais je voudrais mettre faire http://login.mondomaine.net/

Avec la solution de madz, ça ne marche pas (j'arrive toujours sur une page d'erreur, aideàlanavigation de mon prestataire internet).

Merci pour votre aide.

Mon fichier .htaccess a ça pour l'instant (et ça marche !)

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)(/(.*))?$ /free/$1/index.php/$3


Form is loading...