Bonjour,
Voici mon besoin
J'ai un dossier www/public/index.php
J'ai d'autre dossiers qui son au même niveau que le dossier public.
Toutefois le le routeur de mon site est le fichier index.php qui se trouve dans le dossier public.
Et si j'ai bien compris, le fichier .htaccess, je dois le mettre au même niveau que le dossier public
Ma question est :
Quel code dois-je mettre dans mon fichier .htaccess pour que l'utilisateur qui arrive sur mon site soit automatiquement rediriger vers le fichier index.php qui se trouve dans le dossier public ?
Quelqu'un t'avait déja donné la réponse dans ton autre sujet :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Bonsoir.
Il est totalement inutile de créer un fichier .htaccess juste pour lui dire de pointer un fichier index.php dans le même dossier que lui.
Ce genre de fichier .htaccess n'est utile que pour les dossiers parents, dans le cas où ton serveur ne pointe pas directement dans le dossier voulu.
En faite mon fichier .htaccess se trouvera à ce niveau
www/.htaccess
et mon fichier index.php se trouvera a ce niveau www/public/index.php
comment faire dans ce cas là ?
Merci, effectivement, j'aivais déjà eu cette réponse, c'est juste que n'arrivait pas très bien à m'expliquer à moi-même le fonctionnement.
C'est la preuve pour moi que j'ai pas encore compris le fonctionnement du .htaccess
Un grand merci, je vais revoir le cours du rewriting, puis revenir sur le la question pour me la réexpliquer à nouveau.
Merci Lartak
Désolé pour le dérangement !
De rien, c'est un exemple basique, tu peux agrémenter le fichier .htaccess avec plusieurs règles et notamment des conditionnelles, mais le mieux reste quand même de les spécifier au niveau d'un virtual host dans le fichier de configuration.
Il faut quand même savoir que si un jour tu n'utilises plus apache comme serveur web, mais nginx par exemple, ton fichier .htaccess ne pourra pas te servir car nginx n'interprète pas les fichiers .htaccess.