Associer un sous-domaine à une rubrique

Bonjour,

Une chose me paraissait simple...et pourtant je sèche. Comment faire pour associer un sous-domaine à une rubrique ?

Je précise que mon site fonctionne en mode 'arborescence'... j'arrive tout à fait à rediriger un sous-domaine vers l'adresse d'une rubrique, mais le sous-domaine ne reste pas affiché.

Quid d'une gestion totale, c'est à dire qui soit transparente à l'utilisateur comme des sites distincts ?

Jonathan.

As-tu essayé avec un "include"

2009/2/9, Jonathan Chibois <jo.chibois@gmail.com>:

Bonjour,

Une chose me paraissait simple...et pourtant je sèche. Comment faire
pour associer un sous-domaine à une rubrique ?

Je précise que mon site fonctionne en mode 'arborescence'... j'arrive
tout à fait à rediriger un sous-domaine vers l'adresse d'une rubrique,
mais le sous-domaine ne reste pas affiché.

Quid d'une gestion totale, c'est à dire qui soit transparente à
l'utilisateur comme des sites distincts ?

Jonathan.
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou
http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

--
C'est pas parce que je suis venu, qu'il faut croire que je suis là.

Un "include" ?

J'entre-aperçois l'idée, mais... j'ai besoin de plus de détail. Il s'agirait de créer une page fixe qui appellerait la rubrique concernée ?

mailou a écrit :

As-tu essayé avec un "include"

2009/2/9, Jonathan Chibois <jo.chibois@gmail.com>:
  

Bonjour,

Une chose me paraissait simple...et pourtant je sèche. Comment faire
pour associer un sous-domaine à une rubrique ?

Je précise que mon site fonctionne en mode 'arborescence'... j'arrive
tout à fait à rediriger un sous-domaine vers l'adresse d'une rubrique,
mais le sous-domaine ne reste pas affiché.

Quid d'une gestion totale, c'est à dire qui soit transparente à
l'utilisateur comme des sites distincts ?

Jonathan.

Jonathan Chibois a écrit :

Un "include" ?

J'entre-aperçois l'idée, mais... j'ai besoin de plus de détail. Il s'agirait de créer une page fixe qui appellerait la rubrique concernée ?

tu peux faire ca assez simplement avec les url propres, en mappant xxx.tondomaine.com vers www.tondomaine.com/-xxx-.html

dans le .htaccess, ca donne un truc du genre :

RewriteCond %{REQUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_URI} ^$
RewriteCond %{HTTP_HOST} ^([^.]*)\.?tondomaine\.com$
RewriteCond %1 !^www$
RewriteCond %1 !^$
RewriteRule ^(.*)$ -%1-\.html [QSA]

@++

En effet, une page fixe qui serait appelée par le sous domaine, mais tous les articles de ce sous domaine, dans la même rubrique et avec un mot clé.

Le 9 février 2009 21:32, Stephane <stephane@rezo.net> a écrit :

Jonathan Chibois a écrit :

Un « include » ?

J’entre-aperçois l’idée, mais… j’ai besoin de plus de détail. Il s’agirait de créer une page fixe qui appellerait la rubrique concernée ?

tu peux faire ca assez simplement avec les url propres, en mappant xxx.tondomaine.com vers www.tondomaine.com/-xxx-.html

dans le .htaccess, ca donne un truc du genre :

RewriteCond %{REQUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_URI} ^$
RewriteCond %{HTTP_HOST} ^([^.]).?tondomaine.com$
RewriteCond %1 !^www$
RewriteCond %1 !^$
RewriteRule ^(.
)$ -%1-.html [QSA]

@++


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip


C’est pas parce que je suis venu, qu’il faut croire que je suis là.

mailou a écrit :

En effet, une page fixe qui serait appelée par le sous domaine, mais tous les articles de ce sous domaine, dans la même rubrique et avec un mot clé.

bon, je m'explique :
a) j'appelle http://xxx.tondomaine.com
la rewrite fait en fait pointer sur-xxx-.html qui sera donc ta page rubrique X
2) de la, tu appelles une page, l'url est donc http://xxx.tondomaine.com/tapage.html
=> ca marche, une url etant unique, il suffit que apache reponde à tous les domaines.

le seul "truc", c'est qu'il faut mettre le bon domaine dans les liens en faisant un filtre et mettre tous les liens en url absolue.
et si tu veux faire ca bien, tuteste à l'entrée que tu est b ien sur le bon domaine pour qu'un appel à www.tondomaine.com/mapage.html soit redirigé (301) vers xxx.tondomaine.com/mapage.html
la, il faut voir si tu veux faire hériter les sous rubriques ou non, auquel cas il te faudra remonter une boucle hierarchie pour trouver le domaine courant.
bref, au debut de tes squelettes, tu récupères ton domaine puis :
<?php if ("[(#GET{domaine})]"!="" && $_SERVER["SERVER_NAME"]!="[(#GET{domaine})]"){
    @header ('HTTP/1.1 301 Moved Permanently');
    @header("Location: http://[(#GET{domaine})]" . $_SERVER["REQUEST_URI"]);
    exit();
}
?>
il faut aussi sans doute modifier #URL_SITE :
function balise_URL_SITE_SPIP($p) {
    $p->code = "sinon('http://'.\$_SERVER['SERVER_NAME'],'.')";
    $p->code = "htmlspecialchars(".$p->code.")";
    $p->interdire_scripts = false;
    return $p;
}

voila

@++

Le 9 février 2009 21:32, Stephane <stephane@rezo.net <mailto:stephane@rezo.net>> a écrit :

    Jonathan Chibois a écrit :

        Un "include" ?

        J'entre-aperçois l'idée, mais... j'ai besoin de plus de
        détail. Il s'agirait de créer une page fixe qui appellerait la
        rubrique concernée ?

    tu peux faire ca assez simplement avec les url propres, en mappant
    xxx.tondomaine.com <http://xxx.tondomaine.com> vers
    www.tondomaine.com/-xxx-.html <http://www.tondomaine.com/-xxx-.html&gt;

    dans le .htaccess, ca donne un truc du genre :

    RewriteCond %{REQUEST_URI} ^/$ [OR]
    RewriteCond %{REQUEST_URI} ^$
    RewriteCond %{HTTP_HOST} ^([^.]*)\.?tondomaine\.com$
    RewriteCond %1 !^www$
    RewriteCond %1 !^$
    RewriteRule ^(.*)$ -%1-\.html [QSA]

Impecc ! Merci pour cette réponse détaillée ! Je vais étudier ça de plus près maintenant... :slight_smile:

Stephane a écrit :

mailou a écrit :

En effet, une page fixe qui serait appelée par le sous domaine, mais tous les articles de ce sous domaine, dans la même rubrique et avec un mot clé.

bon, je m'explique :
a) j'appelle http://xxx.tondomaine.com
la rewrite fait en fait pointer sur-xxx-.html qui sera donc ta page rubrique X
2) de la, tu appelles une page, l'url est donc http://xxx.tondomaine.com/tapage.html
=> ca marche, une url etant unique, il suffit que apache reponde à tous les domaines.

le seul "truc", c'est qu'il faut mettre le bon domaine dans les liens en faisant un filtre et mettre tous les liens en url absolue.
et si tu veux faire ca bien, tuteste à l'entrée que tu est b ien sur le bon domaine pour qu'un appel à www.tondomaine.com/mapage.html soit redirigé (301) vers xxx.tondomaine.com/mapage.html
la, il faut voir si tu veux faire hériter les sous rubriques ou non, auquel cas il te faudra remonter une boucle hierarchie pour trouver le domaine courant.
bref, au debut de tes squelettes, tu récupères ton domaine puis :
<?php if ("[(#GET{domaine})]"!="" && $_SERVER["SERVER_NAME"]!="[(#GET{domaine})]"){
   @header ('HTTP/1.1 301 Moved Permanently');
   @header("Location: http://[(#GET{domaine})]" . $_SERVER["REQUEST_URI"]);
   exit();
}
?>
il faut aussi sans doute modifier #URL_SITE :
function balise_URL_SITE_SPIP($p) {
   $p->code = "sinon('http://'.\$_SERVER['SERVER_NAME'],'.')";
   $p->code = "htmlspecialchars(".$p->code.")";
   $p->interdire_scripts = false;
   return $p;
}

voila

@++

Le 9 février 2009 21:32, Stephane <stephane@rezo.net <mailto:stephane@rezo.net>> a écrit :

    Jonathan Chibois a écrit :

        Un "include" ?

        J'entre-aperçois l'idée, mais... j'ai besoin de plus de
        détail. Il s'agirait de créer une page fixe qui appellerait la
        rubrique concernée ?

    tu peux faire ca assez simplement avec les url propres, en mappant
    xxx.tondomaine.com <http://xxx.tondomaine.com> vers
    www.tondomaine.com/-xxx-.html <http://www.tondomaine.com/-xxx-.html&gt;

    dans le .htaccess, ca donne un truc du genre :

    RewriteCond %{REQUEST_URI} ^/$ [OR]
    RewriteCond %{REQUEST_URI} ^$
    RewriteCond %{HTTP_HOST} ^([^.]*)\.?tondomaine\.com$
    RewriteCond %1 !^www$
    RewriteCond %1 !^$
    RewriteRule ^(.*)$ -%1-\.html [QSA]

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip