OVH et réécriture d'URL

Eléphant du PHP | 121 Messages

03 déc. 2007, 19:41

Horreur, malheur et crème de banane !

Je viens de déménager un de mes sites de chez 1and1 pour l'installer en multidomaine sur une offre 90plan chez OVH. Le domaine principal est feelin.fr et ses fichiers se trouvent naturellement dans "/www/". Le site que je viens de déménager à pour nom de domaine www.weirdog.com et ses fichiers se trouvent dans le répertoire "/weirdog/". Tout est bien rangé donc.

J'ai créé un CMS et pour le tester j'ai lancé un blog à l'adresse http://www.weirdog.com/blog/. Le problème donc, est que la réécriture de l'URL ne fonctionne plus correctement, en effet, DOCUMENT_ROOT est modifié pour l'adresse du blog lorsque qu'une "fausse" URL est utilisée.

Par exemple :

- Je me connecter sur la page principale : DOCUMENT_ROOT vaut "/home.10.29/feelin/weirdog"
- Je me connecte à la fausse URL '/blog/archives/' : DOCUMENT_ROOT vaut "/home.10.29/feelin/weirdog/blog".

Du coup tout le système est inutilisable.

Voici les paramètres de la redirection :

Code : Tout sélectionner

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+) /blog/index.php [L]
Les paramètres me semblent tout à fait corrects. Ils fonctionnent chez 1and1 et Infomaniak. Le problème ici c'est vraiment la modification de DOCUMENT_ROOT. Est-ce un problème dû au multi domaine ?

Quelqu'un aurait-il un conseil à prodiguer fasse à cette situation aussi infecte que mystérieuse ?

Vous pouvez vous rendre à l'adresse http://www.weirdog.com/blog/ pour consulter un dump du tableau associatif $_SERVER.

Merci !

*** edit ***

Si je modifie DOCUMENT_ROOT à la main :
$_SERVER['DOCUMENT_ROOT'] = '/home.10.29/feelin/weirdog/'
Tout marche, mais bon, c'est tout pourrit :-(

Mammouth du PHP | 1511 Messages

03 déc. 2007, 20:18

Utilise le parametre RewriteBase dans ta réecriture d'url ;)
@+

Eléphant du PHP | 121 Messages

03 déc. 2007, 22:02

Hmm, j'aurais du dire que j'avais essayé RewriteBase. Pour une raison aussi étrange qu'insolite cette directive n'a *aucun* effet. Je peux d'ailleurs lui passer n'importe quoi en argument rien ne se passe.

Mammouth du PHP | 2937 Messages

03 déc. 2007, 22:17

Voici les paramètres de la redirection :

Code : Tout sélectionner

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+) /blog/index.php [L]
Essaie de rajouter la condition suivante avant la ligne de réécriture :

Code : Tout sélectionner

RewriteCond %{REQUEST_FILENAME} !-d

Eléphant du PHP | 121 Messages

03 déc. 2007, 22:20

Marche po non plus. Mpf, comment ça se fait que DOCUMENT_ROOT est modifié ? C'est fou non ? J'attends une réponse d'OVH :-(

ViPHP
ViPHP | 5924 Messages

04 déc. 2007, 02:55

Au pire, tu rajoute R aux flags, ca devrait marcher…

Code : Tout sélectionner

RewriteRule ^(.+) /blog/index.php [R,L]

Eléphant du PHP | 121 Messages

04 déc. 2007, 07:03

Oulala, avec le drapeau R toutes les demandes renvoient à l'index... ça marche pas quoi :-D C'est quand même mystérieux cette affaire !