Changer la racine du document en utilisant .htaccess sur wamp

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: entrer la description de l'image ici

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!