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.
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
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