2010-05-28 14 views
7

Je dois pointer le domaine racine de mon compte d'hébergement vers un sous-répertoire (joomla). Je veux que ce soit invisible (c'est-à-dire que la barre d'adresse du navigateur ne change pas). Aussi, j'ai besoin que cela fonctionne quand un utilisateur frappe la racine ou un sous-dossier/sous-dossier.Invisible .htaccess Redirection depuis/public_html/vers/public_html/dossier

J'ai essayé les règles suivantes, qui fonctionnent individuellement, mais je n'arrive pas à les faire fonctionner ensemble.

Celui-ci fonctionne en l'absence de sous-fichier/sous-dossier est spécifié:

RewriteEngine On 
RewriteRule ^$ /joomla/ [L] 

Et celui-ci fonctionne quand un sous-fichier/sous-dossier spécifié:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.+)$ /joomla/$1 [L] 

Je ne peux pas comprendre comment combinez-les.

Répondre

3
RewriteEngine On 

RewriteRule ^(.*)$ /joomla/$1 [L] 

Devrait fonctionner (non testé). La différence principale entre ceci et votre deuxième tentative est le + vs *. Le signe + correspondra à un ou plusieurs, alors que le * correspondra à 0 ou plus, donc cela devrait fonctionner aussi quand aucun fichier/sous-répertoire n'est spécifié.

+0

Celui-là génère une erreur de 500 serveurs avec ou sans fichier/dossier. Lorsque j'ajoute "RewriteCond% {REQUEST_FILENAME}! -f" cela fonctionne avec le fichier/dossier spécifié, mais génère une erreur 500 sans. – ggutenberg

2

Cela devrait faire l'affaire:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /joomla/$1 [L] 

.* sera également correspondre à une chaîne vide. Vous aussi plus que probablement voulez faire le -d vérifier pour vous assurer qu'ils n'accèdent pas à un répertoire qui existe (bien que, en y pensant, cela pourrait jouer avec le / correspondant, je ne sais pas).

+0

Fonctionne pour le fichier/dossier, mais la racine ne redirige jamais. Juste me donne une liste de répertoire. Sans la ligne -d, il déclenche une erreur de 500 lorsqu'il touche la racine. – ggutenberg