Как в htaccess запретить доступ к конкретным страницам всем кроме моего IP?
Имею блог на Джумле. На сайте нет регистрации и авторизации, но у джумлы есть конкретные ссылки для доступа к ним, например авторизация: /index.php?option=com_users&view=login
Хочу запретить всем доступ к этим страницам, кроме своего IP. Сколько ни гуглил, нашел только одно решение, но оно не работает вообще.
SetEnvIf Request_URI "index.php?option=com_users&view=login" deny
Allow from 'мой айпи'
Deny from env=deny
Мне нужно подобное решение, только я пропишу не один такой URL, а не сколько.
Ответы (2 шт):
Так наоборот же. Сначала запретить, потом разрешить.
Order deny,allow
Deny from all
Allow from IP1
Удивляет, что никто не может ответить на такой простой вопрос. Для не программиста, пришлось кучу времени потратить чтобы перелопатить различные сайты и форму. В итоге вот ответ:
Если ссылка имеет Get запрос (index.php?option=com_users&view=login) пишем так:
RewriteCond %{QUERY_STRING} (^|&)option=com_users($|&)
RewriteCond %{QUERY_STRING} (^|&)view=login($|&)
RewriteCond %{REMOTE_ADDR} !^255\.255\.255\.255$ (Тут ваш айпи)
RewriteRule ^(.*)$ - [R=403,L]
Если ссылка имеет нормальную структуру (/wp-admin), то так:
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^255\.255\.255\.255$ (Тут ваш айпи)
RewriteRule ^(.*)$ - [R=403,L]