Изменить корень документа, используя .htaccess на wamp

Я долго его царапаю над головой. Не удается заставить его работать. (Я - noob с apache, который может быть и одной причиной). Хорошо, вот проблема в двух словах. Я использую wamp, и у меня есть каталог Retailer. В нем есть другой каталог, который называется public, который содержит индекс и другие файлы. Я хочу сделать этот корневой каталог каталога public root. Я хочу достичь этого с помощью .htaccess

Мой модуль Rewrite для apache включен.

Вот что я пробовал:

RewriteEngine on
RewriteBase /public/
RewriteRule ^index.php$ test.php

А также я пробовал

RewriteEngine on
RewriteCond %{HTTP_HOST} ^localhost/Retailer$ [NC,OR]
RewriteCond %{HTTP_HOST} ^localhost/Retailer$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

И я пробовал

RewriteEngine on
RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$ [NC,OR]
RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

Но результат во всех этих случаях одинаковый. То есть:

Любая помощь будет оценена Ахмар

2 ответа

Используйте это правило в файле Retailer/.htaccess:

RewriteEngine on
RewriteBase /Retailer/
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]


Вы должны настроить это не в файле .htaccess, а в файле конфигурации apache httpd.conf:

<virtualhost 127.0.0.1:80=""> DocumentRoot "/path/to/project/Retailer/public" ServerName "retailer.local" ServerAlias "www.retailer.local"
</virtualhost>

Также вам нужно обновить файл hosts следующей строкой:

127.0.0.1 retailer.local

И перезагрузите веб-сервер!

licensed under cc by-sa 3.0 with attribution.