URL rewriting vers un répertoire protégé par .htaccess

Nouveau WRInaute
Bonjour,

J'ai beau parcourir de long en large google et WRI, je ne trouve aucune solution à mon problème.
Je vais tenter de vous l'exposer clairement.

Le serveur est chez un hébergeur.
J'ai plusieurs comptes utilisateurs : compte1, compte2 et compte3, qui ont pour répertoires racine respectifs :
/home/compte1/public_html/
/home/compte2/public_html/
/home/compte3/public_html/

J'ai un fichier de passwords ici : /home/compte1/public_html/rep/.htpasswd
J'ai un .htaccess ici : /home/compte2/public_html/.htaccess contenant les lignes suivantes :
Code:
AuthName "Acces reserve"
AuthUserFile /home/compte1/public_html/rep/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Ensuite, j'ai placé du code dans /home/compte2/public_html/test/[plein de .php]
Tout marche parfaitement, je rentre mes identifiants et aucun problème.

Maintenant, mon gros problème, c'est que j'aimerais, depuis le compte3, réécrires mes URL pour les pointer sur le compte2, en mettant dans mon /home/compte3/public_html/.htaccess ceci :
Code:
RewriteEngine on
RewriteRule ^index\.html$ /home/compte2/public_html/test/index.php [L]
Et j'obtiens l'erreur Apache suivante :

Not Found
The requested URL /home/compte2/public_html/test/index.php was not found on this server.


J'imagine que c'est dû au fait que le dossier du compte2 soit protégé puisque le .php existe, mais comment faire pour outrepasser cette authentification ou pour s'identifier au sein du .htaccess du compte3 ?

Merci d'avance pour votre aide, je patauge dans le flou.
 
WRInaute passionné
les chemins sont relatifs à la racine du site(DocumentRoot). ca doit être un truc comme :
Code:
RewriteEngine on
RewriteRule ^index\.html$ /test/index.php [L]
 
Nouveau WRInaute
Le problème c'est que "/" pointe sur /home/compte3/public_html/ mais j'ai besoin de remonter dans l'arborescence pour accéder à /home/compte2/public_html/

Ce qui m'intrigue, c'est que ça marche avec le AuthUserFile et pas avec le RewriteRule...
 
WRInaute passionné
AuthUserFile attend un chemin complet et permet de mettre le fichier dans une zone inaccessible.
RewriteRule ne fait que de la réécriture. Si ce n'est pas accessible directement, ca ne l'est pas avec réécriture.

Il faut essayer d'ajouter un lien vers le bon répertoire à la racine. par exemple /home/compte3/public_html/test qui pointe vers /home/compte2/public_html/test
avec ce .htaccess :
Code:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^index\.html$ /test/index.php [L]
 
Discussions similaires
Haut