RewriteRule pour un fichier dans un répertoire parent

J’ai un site mis en place sur un serveur Apache avec le site de bureau dans / public_html et un site mobile / dans public_html / mob

J’essaie de configurer une rewriterule .htaccess pour envoyer les utilisateurs à un fichier index.php dans / public_html s’ils visitent le dossier / mob. Ma règle de réécriture actuelle dans le sous-dossier mob est la suivante:

RewriteRule ^(/)?$ ../index.php 

Je peux charger le même fichier dans le sous-répertoire mob avec:

 RewriteRule ^(/)?$ index.php 

Cependant, je ne peux pas sembler obtenir le site pour charger le fichier index.php du répertoire parent (public_html).

En essayant de charger http://www.domain.com/mob dans un navigateur, je reçois:

 Bad Request Your browser sent a request that this server could not understand. 

Cette même rewriterule a bien fonctionné sur notre serveur de développement, mais ne fonctionne pas dans notre environnement en direct.

Le fichier .htaccess du dossier / public_html / mob est le suivant:

 Options +FollowSymLinks RewriteEngine on RewriteRule ^(/)?$ ../index.php [L,QSA] 

Lorsque index.php est atteint, un script de détection de périphérique mobile détermine si le contenu doit être chargé à partir du bureau ou du site mobile.

  • Vérifiez DOCUMENT_ROOT de votre m.domain.com .

Si DOCUMENT_ROOT pour votre m.domain.com est /public_html/mob vous ne pouvez pas charger /public_html/index.php sans effectuer une redirection complète (ou un proxy) sur http://domain.com/index.php

  • Juste pour clarifier n’importe quel site Web ne peut pas accéder aux fichiers au-dessus de son niveau de dossier DOCUMENT_ROOT .

Si la cible de votre règle commence par un / , cela en fait un URI absolu à partir de la racine du document , ce qui serait le dossier public_html:

 RewriteRule ^(/)?$ /index.php