Changer le dossier racine via .htaccess

J’ai un compte d’hébergement partagé associé à un nom de domaine et le dossier racine (corrigez-moi si c’est le mauvais terme) est défini sur / sorte que tous les fichiers sur le serveur soient publics / accessibles via le navigateur.

Puis-je utiliser .htaccess ou quelque chose pour changer le dossier racine en quelque chose comme /example.com/public/ ?

Si je comprends bien, ce qui suit devrait fonctionner

 RewriteEngine On RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(.*)$ /public/$1 [L,R=301] 

Cela redirecta toutes les requêtes qui ne commencent pas par /public/ vers l’URL.

J’espère que cela pourra aider.

La directive DocumentRoot ne peut pas être définie dans un fichier .htaccess, uniquement dans la configuration du serveur. Comme vous n’avez probablement pas les privilèges pour modifier les parameters du serveur, votre seule solution est d’utiliser de la réécriture magique comme clmarquart l’a déjà mentionné .

C’est comme ça que je l’utilise toujours dans mon framework:

 Rewritecond %{REQUEST_FILENAME} !-f RewriteRule (.*) /example.com/public/$1 [L,NC] RewriteCond %{REQUEST_URI} ^/$ RewriteRule !^example.com/public/(.*) /example.com/public/$1 [L,NC] 

J’utilise bluehost … c’est ce qui fonctionne pour moi: c’est utile lorsque vous êtes sur un hébergement partagé et que vous avez plusieurs noms de domaine.

Votre domaine principal est défini sur public_html, mais vos domaines complémentaires sont des sous-dossiers de public_html.

Cela fait en sorte que vous ne devez pas avoir tous vos fichiers de nom de domaine principal être mélangés avec des dossiers de domaine add-on … chaque domaine peut être dans leur propre dossier …

 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?PUTYOURDOMAINNAMEHERE.com$ RewriteCond %{REQUEST_URI} !^/PUTYOURFOLDERHERE/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /PUTYOURFOLDERHERE/$1 RewriteCond %{HTTP_HOST} ^(www.)?PUTYOURDOMAINNAMEHERE.com$ RewriteRule ^(/)?$ PUTYOURFOLDERHERE/ [L] Options +SymLinksIfOwnerMatch