Je me gratte la tête depuis longtemps maintenant. Je n’arrive pas à le faire fonctionner. (Je suis un noob avec apache qui peut être une raison aussi). Ok, voici le problème en bref. J’utilise wamp et j’ai un annuaire Retailer
. Il y a un autre répertoire à l’intérieur qui s’appelle public qui contient l’index et d’autres fichiers. Je veux que ce répertoire de documents public
root. Je veux y parvenir avec .htaccess
Mon module de réécriture pour Apache est activé.
Voici ce que j’ai essayé:
RewriteEngine on RewriteBase /public/ RewriteRule ^index.php$ test.php
Et aussi j’ai essayé
RewriteEngine on RewriteCond %{HTTP_HOST} ^localhost/Retailer$ [NC,OR] RewriteCond %{HTTP_HOST} ^localhost/Retailer$ RewriteCond %{REQUEST_URI} !public/ RewriteRule (.*) /public/$1 [L]
Et j’ai essayé
RewriteEngine on RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$ [NC,OR] RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$ RewriteCond %{REQUEST_URI} !public/ RewriteRule (.*) /public/$1 [L]
Mais le résultat dans tous ces cas est le même. C’est:
Toute aide sera appréciée Ahmar
Utilisez cette règle dans votre fichier Retailer/.htaccess
:
RewriteEngine on RewriteBase /Retailer/ RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
Vous devriez configurer ceci pas dans le fichier .htaccess
mais dans le fichier de configuration apache httpd.conf
:
DocumentRoot "/path/to/project/Retailer/public" ServerName "retailer.local" ServerAlias "www.retailer.local"
Vous devez également mettre à jour votre fichier hosts
avec la ligne suivante:
127.0.0.1 retailer.local
Et redémarrez votre serveur web!