proweb.com.ua: Всем привет!
Помогите сформировать правильно htaccess
Есть некий список айпи адресов доступ которым к сайту закрыт.
Мне нужно разрешить всем доступ к одной странице сайта.
Как это реализовать средствами .htaccess?
Сейчас вот:
Order Allow,Deny
Allow from all
#
Deny from x.x.x.0/x
Deny from x.x.x.0/x
--//--
Можно добавить SetEnvIf и поменять порядок в Order.
SetEnvIf Request_URI ^/page1$ allow_page=1
Order Deny,Allow
Allow from env=allow_page
Allow from env=redirect_status
http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html
Сначала последовательно выполняются rewrite, описанные на уровне server.
Только потом уже начинается поиск location по URI запроса и последовательно выполняются директивы описанные в найденном location.
В строке /user/johnylee/ нет точек, поэтому она совпадает с шаблоном "^/([^.]+)(/?)+$".
Т.е. этот шаблон перехватит любой запрос, где нет точек.
Самое простое решение это вынести все правила с rewrite на уровень server.
Эти два правила перенести в самый конец.
Или rewrite c уровеня server перенести в location /
И несколько правил для .xml перенести в location ~ \.(html|xml)
RewriteCond %{REQUEST_URI} ^/cats(.*)$ [NC]
RewriteRule ^cats(.*)$ /catalog$1 [L,R=301]
Headlesz, в правилах для замены CATS и удаления .html нужно указать полный адрес c https://domain и поставить их над правилом для редиректа на https.
Подскажите, пожалуйста, как сделать редирект через htaccess всех адресов из определенной директории с пробелами на адреаса с дефисами?
Т.е. чтобы все адреса
http://site.com/search/primer stranici/ и, соответственно,
http://site.com/search/primer%20stranici/
Редиректились на
http://site.com/search/primer-stranici/
При этом чтобы в остальных директориях пробелы в адресах не редиректились!
Всем привет!
Помогите сформировать правильно htaccess
Есть некий список айпи адресов доступ которым к сайту закрыт.
Мне нужно разрешить всем доступ к одной странице сайта.
Как это реализовать средствами .htaccess?
Сейчас вот:
Можно добавить SetEnvIf и поменять порядок в Order.
Хмм.
Так пробовали?
Там же ещё код ответа нужно сменить с 403 на 404.
Файл /admin/.htaccess
Файл /404.php
Вариант с mod_rewrite
/admin/.htaccess
Вроде работает, она корректная? Косяков нет?
Все нормально. Можно даже не R=permanent, а redirect=permanent - это всё синонимы R=301.
^/? обеспечивает одинаковую работу в контексте VirtualHost и .htaccess.
В контексте VirtualHost строка с которой работает RewriteRule всегда начинается с "/", а в .htaccess всё наоборот.
var='/etc/init.d/nginx reload';
Там нужно не кавычки, а обратные апострофы
Просто удалить \r
но мне выдает
В Window конец строки это последовательность из двух символов \r\n, а в Unix конец строки только один символ \n.