Lucentezza: Всем добрый день!
Знатоки, подскажите, плиз, можно ли настроить через .htaccess редирект по маске для всех запросов к сайту, содержащих, например, слово Database, на доступ запрещен или отправлять на главную страницу?
Пример, запроса, который требуется блокировать: "GET / HTTP/1.1 "}__test|O:21:\x22JDatabaseDriverMysqli\x22....."
К тому времени как mod_alias будет выполнять редирект на http://сайт.ru/урл/ mod_rewrite уже выполнит RewriteRule и допишет лишние параметры "?a=урл2/pages/id_12".
Поэтому тут лучше обойтись без mod_alias и делать редирект средствами mod_rewrite.
Samail: Нужно что-бы по ссылкам начинающимся на /index.php?option=com_content&task=view&id= открывались страницы http://site.ru/index.php/'то что после id='
То есть /index.php?option=com_content&task=view&id=166&Itemid=44 должно отправлять на http://site.ru/index.php/166&Itemid=44
http://site.ru/?blabla
на главную http://site.ru/ , или на 404
а если вопрос в другом месте , не сразу после домена например
http://site.ru/blabla/bla?param
то редиректа чтобы не было
Или так
Метасимвол ^ совпадает в начале строки. Нужно или убрать его или добавить (?:tag|archive|2014)/ или [^/]+/.
К сожалению, такая конструкция не работает, все равно код 200
Может, ставили в конец файла. После RewriteRule .* index.php [L] это уже работать не будет.
Попробуйте ставить в начало файла сразу после RewriteEngine On
Всем добрый день!
Знатоки, подскажите, плиз, можно ли настроить через .htaccess редирект по маске для всех запросов к сайту, содержащих, например, слово Database, на доступ запрещен или отправлять на главную страницу?
Пример, запроса, который требуется блокировать: "GET / HTTP/1.1 "}__test|O:21:\x22JDatabaseDriverMysqli\x22....."
Редирект на главную страницу
Ошибка 403 "Доступ запрещен"
Или так
Редирект не срабатывае, а в адресной строке формируется такой урл:
http://сайт.ru/урл/?a=урл2/pages/id_12
Но ведь там отчетливо видно, что редирект срабатывает.
В адресной строке как раз http://сайт.ru/урл/ только с добавлением лишних параметров "?a=урл2/pages/id_12".
Такое происходит при одновременной работе mod_alias и mod_rewrite.
Т.е. в правилах у вас как-то так
К тому времени как mod_alias будет выполнять редирект на http://сайт.ru/урл/ mod_rewrite уже выполнит RewriteRule и допишет лишние параметры "?a=урл2/pages/id_12".
Поэтому тут лучше обойтись без mod_alias и делать редирект средствами mod_rewrite.
Ну и ставить его выше других правил сразу после RewriteEngine On
Добрый день, друзья!
Возникла, небольшая сложность по 301 редиректу.
Мы имеем сайт доступный по адресам:
http://site.com
http://www.site.com
https://site.com
https://www.site.com
Задача, сделать основным только https://site.com, а со всех остальных 301 редирект на главный.
Пробовал через htaccess, различные варианты:
Redirect 301 / https://site.com
ERR_TOO_MANY_REDIRECTS
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
ERR_TOO_MANY_REDIRECTS
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
ERR_TOO_MANY_REDIRECTS
Прошу помощи,кто силен в htaccess, подсказать, спасибо.
Возможно, там перед Apache другой сервер принимает поключение по обоим протоколам, а на Apache проксирует запрос уже только по HTTP.
Тогда обычно добавляется заголовок X-Forwarded-Proto или X-Forwarded-SSL
Нужно что-бы по ссылкам начинающимся на /index.php?option=com_content&task=view&id= открывались страницы http://site.ru/index.php/'то что после id='
То есть /index.php?option=com_content&task=view&id=166&Itemid=44 должно отправлять на http://site.ru/index.php/166&Itemid=44
попытался правильно обрабатывать одинарные и двойные кавычки т.е. src="qq ' w w" и src='qq"w w'
небольшой вопрос: а можно ли передать "захваченный текст" из первой части выражения во вторую, в ту которая идет после \G ?
Если так важны кавычки, то в этом случае удобнее всё-таки preg_replace_callback. Можно целиком захватить строку в кавычках
или
('[^']*'|"[^"]*")И далее внутри callback функции обрабатывать как захочешь.