Скрытие папок конфигов, админки и проч.

Статус
В этой теме нельзя размещать новые ответы.

blacks

Местный житель
Регистрация
26 Сен 2008
Сообщения
391
Реакции
24
У меня в htaccess есть несколько деректив отвечающих за защиту/скрытие папок:
Код:
	redirect /config http://www.microsoft.com
	redirect /wp http://www.microsoft.com

Как улушить код добавив функцию NoCase - неважности регистра букв в запросе?
(я не очень силен в htaccess)

Пока гуглил изучая вопрос нашел вот еще такой пример:
Код:
	RewriteRule ^(login|auth) /404 [L]  # для всех файлов в этих папках

Вот сижу "у разбитого карыта" и думаю что выбрать?

Спасибо.
 
Ну нечувствительность к регистру в mod_rewrite задется флагом NC в квадратных скобках.

А приведенные примеры отличаются только тем, что первый вариант использует стандартный модуль редиректа в поставке апача (я не работал с ним, он очень простой). Второй же использует mod_rewrite. Оба этих модуля нерекомендуется использовать (хотя и возможно, для этого есть специальные бубны в mod_rewrite), поэтому лучше взять вторую строчку, немного подредактировав, приведя к соответствию первому варианту и требуемой функциональности:
Код:
RewriteRule ^(config|wp) http://www.microsoft.com [L,NC]
 
Большое спасибо!

А приведенные примеры отличаются только тем, что первый вариант использует стандартный модуль редиректа в поставке апача (я не работал с ним, он очень простой).


Оба этих модуля нерекомендуется использовать (хотя и возможно, для этого есть специальные бубны в mod_rewrite), поэтому лучше взять вторую строчку

Почему эти два модуля плохи?
Из-за того что могут создавать нагрузку на сервер... но от чего?
Тем более если первый простой.
 
Я немного не так выразился, прошу прощения.
Не стоит одновременно использовать эти модули. Хотя это и допускается. (Для этого в mod_rewrite есть флаг P proxy, который позволяет вернуть на время управление в mod_alias (от которого директива Redirect), но это танцы с бубнами)

Я предлагаю всегда использовать mod_rewrite, так как он горздо гибче mod_alias и на сегодняшний день очень часто используется (в том числе и для ЧПУ).

Добавлено через 44 секунды
mod_alias is designed to handle simple URL manipulation tasks. For more complicated tasks such as manipulating the query string, use the tools provided by mod_rewrite.
Это из документации к mod_alias строчка.
 
Я предлагаю всегда использовать mod_rewrite, так как он горздо гибче mod_alias и на сегодняшний день очень часто используется (в том числе и для ЧПУ).

Спасибо.
Вот еще пара небольших уточнений(если они вас не обеспокоят:(

1. Могу я делать несколько строк-блоков для редиректа?
- чтоб строка не получалась слишком длинная и было лучше понимать.
Пример:

Код:
RewriteRule ^(config|wp|secure) http://www.microsoft.com [L,NC]
RewriteRule ^(zip|rar|7z) http://www.microsoft.com [L,NC]


2 вид такой строки
Код:
RewriteRule ^(config|wp) /404 [L,NC]
перенаправляет на папку 404 или на выдачу ошибки с кодом 404 ?

Спасибо.
 
1. да, так как Вы написали можно делать.
также можно делать к каждой записи RewriteRule по несколько записей RewriteCond задающих условия для этой (одной) записи.
2. такая строка перенаправит на папку 404 с кодом 200 OK. Если хочется сделать код 404, то нужно написать так:
Код:
RewriteRule ^(config|wp) - [R=404,L,NC]
или так:
Код:
RewriteRule ^(config|wp) /404 [R=404,L,NC]
Если честно, то нужно попробовать, что даст нужный результат. (В любом случае должен быть задан ErrorDocument 404 /404/)
 
я тут подумал, надо делать первый вариант. тогда преобразования вообще не будет, а будет просто 404й статус.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху