Вот моя переписка с reg.ru Пытался получить поддержку. Не получил. Может тут кто поможет. Заранее благодарю. 1. От меня им: Задачи для решения: 1. Как запретить папку, если её расположение неизвестно, но известно её название. Пример (в данном примере я пытаюсь закрыть файлы. Тем не менее, задача "закрыть папку, а не файлы", где папки находятся по нижеуказанным адресам.): А. В главном файле .htaccess пытаюсь закрыть доступ к файлам css и js? Пишу конструкцию <FilesMatch ".(css|js)$"> Deny From All </FilesMatch> и она не работает на сайте в Интернете. Хотя на локальной машине отрабатывает. Есть основания предположить, что это хостинг не позволяет файлу отработать. Файлы находятся по таким адресам: /themes/ИмяШаблона/style/ /themes/ИмяШаблона/js/ и мне нужно запретить к ним доступ. ------------------------------------------------------------------------------------------------ 2. От reg.ru мне Решение: 1) Оставить только Apache, выключив в "Возможностях" панели управления nginx. Однако при этом может возрасти нагрузка на сервер. 2) Убрать лишние расширения из location виртуального хоста в nginx. Сейчас location выглядит так: location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf) если Вы хотите, чтобы правило работало, из location нужно убрать css и js, т.е. конечный вид будет таким: location ~* ^.+\.(jpg|jpeg|gif|png|svg|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf) server_name stroidvorik.ru http://www.stroidvorik.ru; listen 194.58.96.113; set $root_path /var/www/u0558759/data/www/stroidvorik.ru; location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root $root_path; access_log /var/www/nginx-logs/u0558759 isp; access_log /var/www/httpd-logs/stroidvorik.ru.access.log ; error_page 404 = @fallback; } Внимание! Если Вы выберите второй вариант, потом не вносите никаких изменений в "WWW домен" stroidvorik.ru, иначе панель управления "сбросит" location в nginx на старый (т.е. вновь в нем появятся расширения css и js и Ваше правило перестанет работать). ----------------------------------------------------------------------------------------------- 3. От меня в reg.ru Вы много и детально написали, но на вопрос не ответили. Повторяю (кратко): Как закрыть папку style по адресу: <<< /themes/ИмяШаблона/style/ Мне нужно знать, как закрыть папку, и, пожалуйста, ничего лишнего. Хочу добавить, что я никогда особо не дружил и не сталкивался с nginx. У меня apache. Я не знаю, где находится на хосте файл, в который надо вписывать выражения. А поэтому: 1. предоставьте пожалуйста готовое решение. 2. вместе с ним дайте какие-то пояснения куда ставить и как ставить. Так мы себе сохраним и в следующих проектах сможем сами реализовывать, поняв структуру кода. -------------------------------------------- 4. От рег.ру мне К сожалению, мы не можем решить поставленную задачу в рамках сервисного администрирования вашего сайта. Закажите на платной основе. -------------------------------------------- 5. Я заказал платную услугу и они отказали, сказав, что вообще такого не делают. Спрашивается, зачем предлагать платно, если вообще не делают. --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- Уважаемые, помогите решить задачу. Заранее благодарю всех. Если у вас есть аккаунты на каких-то сайтах фриланса, я с удовольствием оставлю отзыв.
А какой смысл пытаться скрывать css и js, если они все равно по определению должны быть видны каждому? Даже если их закрыть через htaccess, все равно их можно будет увидеть через тот же Firebug
Может, подлить масла в огонь?! Наверное, можно положить css и js в базу данных, доставать через eval.
давайте без юмора. мало ли, может js и css это только пример. хз как закрыавть в апаче, но в нгинксе есть возможность юзать регулярки в локейшене.
Игорь, это совсем не ваш стиль Игорёк, привет. вы же не мой консультант и в теме нет задачи направить меня на путь истинный или помочь мне в рекрутинге. Я же поставил четкую задачу, которая никак не подразумевает вашего ответа. За три года знакомства вы никогда не отвечали мне не в тему. Что произошло? Я как-то сыскал себе какое-то изменение отношения? Чем я этого добился? Добавлено спустя 47 минут 58 секунд: весьма плачевная реакция Жаль, что увидел якобы умные советы и реакции. Сарказм, отхождение от темы, якобы профессионализм. Ни один из написавших не то, чтобы дать совет, а даже направление решения не выдержали. Зачем, спрашивается, отвечаете? Какова цель ухмылок?
нанять админа можно за $20 в месяц и забыть про геморой на веки вечные. Реально, ты больше потратил на этот вопрос времени*денег, чем заплатил бы за месяц админу.
Задача "закрыть показ списка файлов, но не запрещать использование самих файлов" решается через "главный" .htaccess Код (Text): Options -Indexes ИЛИ можно просто поместить пустой index.html в каждую такую папку Задача "закрыть все файлы в папке" решается через .htaccess в этой папке Код (Text): Deny From All Задача "закрыть все файлы определенного вида в папке" решается через .htaccess в этой папке Код (Text): <FilesMatch "регулярка"> Deny From All </FilesMatch> И очевидное: если доступ к файлам запретить, браузер не сможет их использовать. Запретишь .css — лишишся стилей. Поэтому задача кажется немного дикой. Почему не срабатывает FilesMatch на хостинге? Возможные причины: - всё срабатывает, но твой браузер|прокси хорошо закешировал файлы и показывает предыдущее состояние; - хостером запрещен AllowOverride; - на хостинге вообще не Apache, а nginx, например; - на хостинге nginx-перед-apache и в nginx твои файлы попадают в особое правило, до апачи запрос просто не доходит. Техподдержка откажется менять настройки если они повлияют на всех клиентов хостинга.