Я хочу использовать файл .htaccess
, чтобы проверить, является ли запрошенный путь файлом в каталоге public/
. Если да, подайте его, а затем отправьте запрос на адрес /index.php
. Кажется, я не могу заставить это работать..htaccess: подавать статические файлы, перенаправить все остальное на index.php
Вот что я получил:
Options +FollowSymLinks
RewriteEngine on
Options -Indexes
RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule^%{DOCUMENT_ROOT}/public%{REQUEST_URI} [L]
RewriteRule^index.php [QSA,L]
например http://example.com/css/style.css
должен иметь apache подавать /public/css/style.css
, потому что это файл, который существует, но http://example.com/css/style.bad
следует отправить в /index.php
.
Это работает! Спасибо. Я только заметил, что 'style.css' доступен в * both *'/css/style.css' * и * '/ public/css/style.css'. Технически последний должен перейти на 'index.php', так как'/public/public/css.style.css' не является файлом. Это также означает, что '/ public/xxx' будет генерировать apache 404 вместо пользовательского, который я настроил в моем файле' index.php'. Невозможно это исправить, не так ли? – mpen
Я отредактировал свой ответ, чтобы принять во внимание ваш комментарий –
Твоя магия моя дорогая. Вы спасли меня. большое спасибо –