У меня проблемы с перезаписью URL-адресов статических файлов в текущей настройке .htaccess на apache2.
Моя структура приложения:
/siteroot
/siteroot/app
/siteroot/lib
/siteroot/...
/siteroot/public <- all the static files (images, js, etc.) stored here
/siteroot/index.php
/siteroot/.htaccess
Итак, мне нужно переписать URL-адрес, например /css/style.css, в /public/css/style.css. Я сделал это очень простым способом, но когда файл не найден, это вызывает 10 внутренних перенаправлений, что плохо. Мне нужно как-то вернуть код 404, если файл не найден, или просто передать его следующему правилу. И у меня нет доступа к файлу конфигурации сайта. Только .htaccess.
Причина, по которой я задаю этот вопрос, заключается в том, что сайт работал на nginx, и мне нужно перестроить ту же конфигурацию на apache.
Вот мой файл .htaccess.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$ /public/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]