Блокировка URL и его подURL с помощью Htaccess

Блокировка URL и его подURL с помощью Htaccess

У меня есть URL http://example.com/web/en/press-release/. Как мне заблокировать всем пользователям доступ и просмотр этой страницы и http://localhost:10004/web/en/press-release/*использование .htaccess?

Я хочу, чтобы они были доступны только с определенных IP-адресов.

Мне это понравилось, но не работает.

# Press Release Blocked Now
RewriteCond %{HTTP_REFERER} web/en/press-release/ [NC,OR]
RewriteRule .* - [F]

решение1

Если выдолжениспользовать.htaccessфайлыВы должны знать их ограничения:

.htaccessфайлы (или «распределенные файлы конфигурации») предоставляют способ вносить изменения в конфигурацию на основе каталога. Файл, содержащий одну или несколько директив конфигурации, помещается в определенный каталог документов, и директивы применяются к этому каталогу и всем его подкаталогам.

Это означает, что вы контролируете настройкиконтейнеры файловой системыскорее, чемконтейнеры веб-пространства, и конфигурация по умолчанию применяется ко всем подкаталогам. Поэтому для достижения вашей цели вы должны поместить файл .htaccessв путь файловой системы, соответствующий URL-пути /web/en/press-release/.

Если и /web/en/press-release/ссылаются на один и тот же каталог и оба обслуживаются напрямую из файловой системы с помощью Apache (т.е. это неlocalhost:10004example.comобратный прокси), контекст файловой системы является хорошим выбором. ИзРазделы конфигурации: что использовать, когда:

Выбор между контейнерами файловой системы и контейнерами веб-пространства на самом деле довольно прост. При применении директив к объектам, которые находятся в файловой системе, всегда используйте <Directory>или <Files>. При применении директив к объектам, которые не находятся в файловой системе (например, веб-страница, сгенерированная из базы данных), используйте <Location>.

Важно никогда не использовать <Location>при попытке ограничить доступ к объектам в файловой системе. Это связано с тем, что многие различные местоположения веб-пространства (URL) могут соответствовать одному и тому же местоположению файловой системы, позволяя обойти ваши ограничения.

Вместоиспользование mod_rewrite для управления доступом, Apache имеет прямойКонтроль доступадирективы. Их использование более простое и делает вашу конфигурацию более удобной для чтения и управления.RequireДирективаотmod_authz_coreимеет ip:

Require ip 192.0.2.100
Require ip 198.51.100.0/24
Require ip 2001:DB8:C0F:FEE::/64

Связанный контент