achtungbaby Posté 1 Août 2005 Posté 1 Août 2005 J'ai profité du passage de ma plateforme de blogs sur mon dédié pour passer les blogs en sous domaine. Seulement les anciens blogs sont sous la forme site/user. Actuellement les blogs sont accessible des deux façon, exemple : http://achtungbaby.blog-pression.org et http://blog-pression.org/achtungbaby afin d'éviter le duplicate content, je voudrais faire une redirection 301 du dossier vers le sous domaine, et ainsi aussi pouvoir récupérer le PR et référencement de chaque blogs. Quelle est la meilleure méthode ? nb : c'est le premier site qui fait la bascule sur mon didié
TheRec Posté 1 Août 2005 Posté 1 Août 2005 (modifié) Bonjour, Dans un fichier .htaccess à placer à la racine de ton site : RedirectMatch 301 /(.*)$ http://$1.blog-pression.org Tu devras surement modifier l'expression régulière car cela prend tout ce qui se trouve après le premier "/" et l'utilise comme nom de sous-domaine. Mais je ne connais pas l'implémentation de tes blog (s'ils ont des sous-répertoires, s'ils utilisent des nom de fichiers, de l'URL rewriting, ...) ** EDIT ** Tu n'auras plus que quelques modifications à faire, il faut aussi éviter que lorsqu'aucun dossier n'est spécifié il utilise cette règle... reste à travailler sur cette expression régulière... ** EDIT2 ** J'ai corrigé le flag...en fait j'ai confondu avec le RewRite... le 301 juste après RedirectMatch, vuq ue c'est de tout façon une redirection Modifié 1 Août 2005 par TheRec
achtungbaby Posté 1 Août 2005 Auteur Posté 1 Août 2005 Merci, je vais tester. Les blogs utilisent l'url rewriting en fait pour afficher /user.
TheRec Posté 1 Août 2005 Posté 1 Août 2005 Dans ce cas peux tu nous donner les règles utilisée actuellement, ça peut nous aider. Merci d'avance !
achtungbaby Posté 1 Août 2005 Auteur Posté 1 Août 2005 Voila le fichier .htaccess actuel : <Files .htaccess> deny from all </Files> <Files config.properties.php> deny from all </Files> Options -IndexesOptions +FollowSymLinks<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /# Permalink to the blog entry (i.e. /plog/1_userfoo/archive/3_title-foo-bar.html)RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]+)_[^.]+\.html$ index.php?op=ViewArticle&blogId=$1&articleId=$2 [L,NC]# Monthly archive (i.e. /plog/1_userfoo/archive/200401.html)RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]{6})\.html$ index.php?blogId=$1&Date=$2 [L,NC]# Daily archive (i.e. /plog/1_blogfoo/archive/20040101.html)RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]{8})\.html$ index.php?blogId=$1&Date=$2 [L,NC]# Album (i.e. /plog/88_userfoo/albums/34_title-foo-bar.html)RewriteRule ^([0-9]+)_[^/]+/albums/([0-9]+)_[^.]+\.html$ index.php?op=ViewAlbum&blogId=$1&albumId=$2 [L,NC]# Albums (i.e. /plog/88_userfoo/albums/)RewriteRule ^([0-9]+)_[^/]+/albums/$ index.php?op=ViewAlbum&blogId=$1&albumId=0 [L,NC]# Category view (i.e. /plog/88_userfoo/categories/4_cat-foobar.html)RewriteRule ^([0-9]+)_[^/]+/categories/([0-9]+)_[^.]+\.html$ index.php?blogId=$1&postCategoryId=$2 [L,NC]# Category-Feeds (i.e. /plog/3_userfoo/feeds/categories/2_category/atom)RewriteRule ^([0-9]+)_[^/]+/feeds/categories/([0-9]+)_[^.]+/(.*)$ rss.php?blogId=$1&categoryId=$2&profile=$3 [L,NC]# Feeds (i.e. /plog/3_userfoo/feeds/atom)RewriteRule ^([0-9]+)_[^/]+/feeds/(.*)$ rss.php?blogId=$1&profile=$2 [L,NC]# Trackbacks (i.e. /plog/3_userfoo/trackbacks/34_title-foo-bar.html)RewriteRule ^([0-9]+)_[^/]+/trackbacks/([0-9]+)_[^.]+\.html$ index.php?op=Trackbacks&blogId=$1&articleId=$2 [L,NC]# Comment form (i.e. /plog/88_userfoo/comment/34_title-foo-bar.html)RewriteRule ^([0-9]+)_[^/]+/comment/([0-9]+)_[^.]+\.html$ index.php?op=Comment&blogId=$1&articleId=$2 [L,NC]# Resources (i.e. /plog/88_userfoo/resources/this-is-a-resource-name.pdf.html)RewriteRule ^([0-9]+)_[^/]+/resources/([^.]+)\.([^.]+)\.html$ index.php?op=ViewResource&blogId=$1&resource=$2.$3 [L,NC]# Download a resource (i.e. /plog/88_userfoo/get/this-is-a-resource-name.pdf)RewriteRule ^([0-9]+)_[^/]+/get/(.+)$ resserver.php?blogId=$1&resource=$2 [L,NC]# Static Pages (i.e /plog/3_userfoo/demosites)RewriteRule ^([0-9]+)_[^/]+/(.+)$ index.php?op=Template&blogId=$1&show=$2 [NC]# A non-default blog (i.e. /plog/88_userfoo)RewriteRule ^([0-9]+)_[^/]+$ index.php?blogId=$1 [L,NC]# Daly archive (i.e. /plog/1_userfoo/archive/20040101.html)RewriteRule ^([0-9]+)_[^/]+/archive/([0-9]{8})\.html$ index.php?blogId=$1&Date=$2 [L,NC]# BlogRewriteRule ^([a-z0-9_]+)$ error.php [L,NC]</IfModule><Files post> ForceType application/x-httpd-php</Files><Files archives> ForceType application/x-httpd-php</Files><Files static> ForceType application/x-httpd-php</Files><Files rss> ForceType application/x-httpd-php</Files><Files category> ForceType application/x-httpd-php</Files><Files trackbacks> ForceType application/x-httpd-php</Files><Files comment> ForceType application/x-httpd-php</Files><Files resource> ForceType application/x-httpd-php</Files><Files get> ForceType application/x-httpd-php</Files><Files album> ForceType application/x-httpd-php</Files><Files blog> ForceType application/x-httpd-php</Files>ErrorDocument 401 /error.phpErrorDocument 403 /error.phpErrorDocument 404 /error.phpDirectoryIndex index.html summary.php index.php
TheRec Posté 1 Août 2005 Posté 1 Août 2005 (modifié) Je pense que tu peux t'en sortir avec ceci : RedirectMatch 301 ^/([a-z0-9_]+)[/]?(.*)$ http://$1.blog-pression.org/$2 Le premier répertoire sera utilisé comme le sous-domaine, tout ce qui suit s'il y a quelque chose qui suit sera utilisé comme chemin... ** EDIT ** Inconvénient de taille de cette règle tu ne peux plus avoir de répertoire pour ton site de base :S Modifié 1 Août 2005 par TheRec
TheRec Posté 2 Août 2005 Posté 2 Août 2005 Et quels sont les symptomes ? Un simple "ça ne marche pas" ne m'aide pas beaucoup...donne-nous un peu de détails sur ce qui ne marche pas. PS: Mets la ligne RedirectMatch en fin de ton fichier .htaccess ...
achtungbaby Posté 2 Août 2005 Auteur Posté 2 Août 2005 Le redirect est bien en fin de htaccess. Par exemple, blog-pression.org qui est censé aller sur la page d'accueil est rewrité par la commande et devient index.blog-pression.org qui n'existe pas. Dans la règle de rewrite, summary.php est l'index : DirectoryIndex index.html summary.php index.php index.php c'est l'appel d'un blog par index.php?id=xxx (c'est ça qui est rewrité pour devenir {user}.blog-pression.org
Dan Posté 2 Août 2005 Posté 2 Août 2005 Dans la règle de rewrite, summary.php est l'index : DirectoryIndex index.html summary.php index.php Si tu veux que summary soit présenté par défaut, il faut le mettre en premier dans cette liste. Passe index.html en dernière position, ou vires-le si tu n'as pas de fichier index.html.
achtungbaby Posté 2 Août 2005 Auteur Posté 2 Août 2005 en fait, il n'y a pas d'index.html, donc effectivement je peux le virer.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant