Url Rewriting + sous domaine

Résolu
Flachy Joe Messages postés 2303 Statut Membre -  
bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   -
Salut
Les faits :
1. machin.domaine.net est redirigé vers domaine.net/machin (fixé par mon hébergeur)
2. Un htaccess (qui fonctionne bien) redirige toutes les requêtes vers le fichier index.php à la racine du site avec la requête en paramètre.

Le problème :
Je voudrai rediriger aussi machin.domaine.net vers ce fichier index

Ce que j'ai tenté :
J'ai fait un htaccess dans le repertoire domaine.net/machin/ :
RewriteEngine On

RewriteRule ^$ /../index.php?page=machin&dummy=1 [L]

RewriteCond %{QUERY_STRING} !.*dummy=1.*
RewriteRule ^(.*)$ /../$1 [L]


Mais là un autre problème surgit : ça fonctionne très bien quand on accède à http://www12.domaine.net/?tm=1 (ça renvoi sur domaine.net/index.php?page=machin) mais pas quand on va sur http://www12.domaine.net/?tm=1 ,apparemment ça ne trouve pas le répertoire parent (??)

J'ai donc contourné avec ceci
#redirige machin.domaine.net/nimporte vers domaine.net/machin/nimporte
RewriteCond %{HTTP_HOST} ^(.*)[.]domaine[.]net$
RewriteRule ^(.*)$ http://domaine.net/%1/$1 [L]


mais je voudrai garder machin.domaine.net dans la barre d'adresse (et pour le référencement), c'est possible ?

Merci !
--
;-) Flachy Joe ;-)

3 réponses

  1. Flachy Joe Messages postés 2303 Statut Membre 261
     
    Après moult recherche, il y a au moins une solution théorique en utilisant le drapeau P (comme Proxy) à la fin de la règle de réécriture :
    RewriteRule ^(.*)$ http://domaine.net/%1/$1 [L,P]
    Malheureusement ça ne fonctionne que si le module mod_proxy est activé, ce qui n'est pas mon cas...

    ;-) Flachy Joe ;-)
    Membre de l'association Olympe-Network
    Ma clef PGP publique est disponible dans mon profil.
    1
    1. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      d'où ma réponse .... quel est l'hébergeur (sans http:///////)
      :)
      0
  2. Flachy Joe Messages postés 2303 Statut Membre 261
     
    Ca y est j'ai trouvé :
    avec un .htaccess
    RewriteEngine On
    
    RewriteRule ^$ %{DOCUMENT_ROOT}/index.php?dummy=1
    
    RewriteCond %{QUERY_STRING} !dummy=1
    RewriteRule ^(.*)$ http://domaine.net/$1 [L]
    

    et un fichier index.php
    <?php
    set_include_path(get_include_path() . PATH_SEPARATOR . '..'. PATH_SEPARATOR . '../..');
    $_GET['page'] = '../machin';
    include '../index.php';
    ?>
    


    Merci quand même bg62....
    1
    1. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      ok
      @+
      0
  3. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    si cela est "imposé" par ton hébergeur, (solution gratuite ou autre de ce genre je suppose ...) m'étonnerait beaucoup que tu puisses manipuler ainsi :-)
    -1