2012-03-04 2 views
0

Я сохраняю файлы своего сайта в каталоге /public/.как эмулировать публичный каталог с mod_rewrite

Так, например, чтобы получить доступ к файлу CSS, если мы указываем абсолютный путь HTML, было бы

/public/css/reset.css.

У меня есть /public/index.php файл, который обрабатывает каждый запрос. Итак, мой основной API сайта работает отлично.

Вот мой простой .htaccess: (за пределами public реж)

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ public/index.php 
</IfModule> 

Как я могу добавить правила mod_rewrite, поэтому, когда я спрашиваю mysite.com/css/reset.css я mysite.com/public/css/reset.css (так, для других файлов тоже)

ответ

1
RewriteCond -f public%{REQUEST_URI} 
RewriteRule ^(.+)$ public/$1 [L] 
+0

Я пробовал это. Это не работает: (Когда я открываю 'mysite.com', он открывает каталог моего сайта –

+0

, он работает, только если я нахожу пункт' http: // mysite.com/public/$ 1' вместо 'public/$ 1' и работает без RewriteCond. И нельзя напрямую перенаправлять? Я имею в виду не показывать/public/path в url? –

Смежные вопросы