У меня есть веб-проект. Внутри веб-проектов есть несколько каталогов. Я хочу, чтобы всем был доступен только веб-каталог.
У меня нет доступа для изменения виртуального хоста, поскольку это приложение для внутренней интрасети.
Однако я могу создать файл .htacess. Я очень мало знаю о файлах htaccess, но верю, что, создав файл, я могу ограничить доступ к определенным папкам через Интернет. Это подводит меня к моему вопросу.
Я хочу ограничить общий доступ только к веб-папке через содержимое в htaccess.
webProjectRoot
.. web -- allow access to all
.. application -- no public access
.. library -- no public access
.. other folder -- no public access
.. other folder etc -- no public access
Вы можете просто поставить .htaccess
в каждом каталоге, к которому вы не хотите получать доступ с этим контентом:
Order deny,allow
Deny from all
Есть ли на вашем сервере какие-либо файлы .htpasswd? Этого должно быть достаточно
# password protection allowing multiple resources
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user
# allow public access to the following resources
SetEnvIf Request_URI "(path/to/directory_01/)$" allow
SetEnvIf Request_URI "(path/to/directory_02/)$" allow
SetEnvIf Request_URI "(path/to/file\.php)$" allow
SetEnvIf Request_URI "(path/to/file\.html)$" allow
SetEnvIf Request_URI "(path/to/another/resource/)$" allow
SetEnvIf Request_URI "(path/to/yet/another/resource/)$" allow
Order allow,deny
Allow from env=allow
Satisfy any