mod_rewrite, sous domaines et Google

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

comparef
WRInaute passionné
WRInaute passionné
 
Messages: 504
Inscription: Mar Avr 05, 2005 18:00

mod_rewrite, sous domaines et Google

Message le Mar Oct 25, 2005 15:26

Bonjour,

J'ai pris un serveur dedié chez Sivit (Apache 1.3.33). Pour que tous mes repertoires soit automatiquement des sous domaines (/home/web/mondomaine/www/ = www.mondomaine.tld, /home/web/mondomaine/toto/ = toto.mondomaine.tld, etc) on m'a conseillé d'utiliser la methode suivante (grace au mod_rewrite) :

Code: Tout sélectionner
<VirtualHost 100.100.100.100>
  ServerAdmin Mail@domaine.tld
  ServerName domaine.tld
  ServerAlias *.domaine.tld
  DocumentRoot /home/votre-compte/www
  php_admin_value doc_root /home/votre-compte
  php_admin_value open_basedir /home/votre-compte
  php_admin_value upload_tmp_dir /home/votre-compte/.tmp
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domaine.tld
  RewriteCond %{DOCUMENT_ROOT}/%2 -d
  RewriteCond %{REQUEST_URI} !^/icons/
  RewriteCond %{REQUEST_URI} !^/cgi-bin/
  RewriteRule ^(.*) /%2/$1 [L]
  ScriptAlias /cgi-bin/ /home/votre-compte/cgi-bin/
</VirtualHost>


Est ce que vous pouvez me confirmer que google verra bien ici des sites differents pour chaque sous domaine, ou bien est-ce une redirection que Google detectera et assimilera donc tous les sous domaines au meme site ?

Merci d'avance pour votre aide,
Robin

Dan Hetzel
Nouveau WRInaute
 
Messages: 24
Inscription: Mer Mar 31, 2004 20:46

Message le Mar Oct 25, 2005 16:05

Pour créer des sous-domaines automatiques, tu devrais plutôt utiliser le module vhost_alias, et le VirtualDocumentRoot vu que tu as la main-mise sur Apache.

Parce qu'enquiller les conditions comme tu le fais ne semble pas vraiment efficace.

A+

Dan

comparef
WRInaute passionné
WRInaute passionné
 
Messages: 504
Inscription: Mar Avr 05, 2005 18:00

Message le Mar Oct 25, 2005 17:10

Merci pour ta reponse,

Oui au debut j'avais ca :

Code: Tout sélectionner
<VirtualHost *>
    DocumentRoot /home/web/mondomaine
    ServerName mondomaine.com
    ServerAlias *.mondomaine.com
    VirtualDocumentRoot /home/web/mondomaine/%1
    <Directory "/home/web/mondomaine">
        allow from all
        Options +Indexes
    </Directory>
</VirtualHost>


Et j'avai un message d'erreur lorsque j'essayai de redemarrer apache, alors on m'a dit d'activer le module mod_vhost_alias, mais le probleme c'est que je ne sais pas comment on installe un module apache :oops:

Robin


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Oct 25, 2005 18:08

Tout dépend comment il est compilé, mais en général, il suffit de décommenter la ligne en enlevant le #:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so


Et bien sur voir si mod_vhost_alias.so est bien dans la directorie des modules. Sinon, tu peux aussi recompiler Apache avec le module en c.
Voila :-)

comparef
WRInaute passionné
WRInaute passionné
 
Messages: 504
Inscription: Mar Avr 05, 2005 18:00

Message le Sam Oct 29, 2005 9:04

Bonjour,
Merci pour ta reponse,

J'ai donc mis la ligne
LoadModule vhost_alias_module modules/mod_vhost_alias.so

puis j'ai activé ce module via webmin ( la ligne AddModule mod_vhost_alias.c s'est rajouté)

Lorsque j'essai de redemarrer apache, j'ai le message d'erreur suivant :
Code: Tout sélectionner
sd1175:~# /etc/init.d/httpd restart
Configuration syntax error detected. Not reloading.

Syntax error on line 8 of /etc/apache/modules.conf:
Cannot add module via name 'mod_vhost_alias.c': not in list of loaded modules


...
Il n'existerai pas le livre "serveur dedié pour les nuls" ou un livre bien du meme genre, car la je commence un peut a désespérer...


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Sam Oct 29, 2005 13:31

Bon, ben c´est relativement simple:
quand tu ajoute un module, il faut aussi ajouter la source en .c
alors il te faut dans ton fichier de config:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
puis:
AddModule mod_vhost_alias.c

Et dans l´ordre.
pui il faut bien sur avoir le module dans la directorie module.

A mon avis, l´ordre n´est pas bon: tu essayes d´ajouter le module sans l´avoir charger...

comparef
WRInaute passionné
WRInaute passionné
 
Messages: 504
Inscription: Mar Avr 05, 2005 18:00

Message le Sam Oct 29, 2005 14:07

Merci pour ton aide, tout les tutorials du monde ne valent pas une aide d'un membre de WRI ;)

Donc j'ai mis loadmodule avant addmodules, maintenant je n'ai plus de message d'erreur lorsque je restart apache (c'est déjà bien par ce que ça faisait 3 jours que je cherchais a ne plus avoir ce message d'erreur !).

Mais les sous domaines ne fonctionnent toujours pas, comment fait-on pour vérifier si le module est bien dans la directorie que j'ai spécifié ?


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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité