Допустим, у нас есть следующая схема:
root/
application/
-public/
index.php
css/
img/
javascript/
...
system/
...
Я думал, что если я создам файл .htaccess в корне со следующими правилами:
RewriteEngine On
RewriteRule \.(css|jpe?g|gif|png|js|ico)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ application/public/index.php?url=$1 [QSA,L]
Я быбыть в состоянии сделать другую папку, кроме общедоступной, недоступной.Предположим, что index.php - это файл, который загружает все файлы, которые нужны приложению, и включает и требует их (с указанием относительных путей): приложение на самом деле запускается в index.php, и каждый публичный файл, такой как таблица стилей CSS, изображения или сценарий JavaScriptв общедоступной папке.Таким образом, вы, как пользователь, не можете получить доступ к системной папке, потому что если вы введете цифру www.site.com/, это будет означать root / application / public /.Я прав?
Но установленное там правило htaccess не работает ... Если я помещаю этот htaccess в корневую папку и пытаюсь получить доступ к корневой папке, браузер показывает мне список файловкорневая папка (приложение и система).Почему он не работает?
Я использовал это некоторое время назад, когда index.php находился в корневой папке:
RewriteEngine On
RewriteRule \.(css|jpe?g|gif|png|js|ico)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
, и он работал просто отлично.Почему не работает новый?