Ru-Board.club
← Вернуться в раздел «Web-программирование»

» mod_rewrite: документация, готовые решения, вопросы

Автор: Cheery
Дата сообщения: 03.05.2014 20:26
perdun

Цитата:
сквида замечено установление пира с удаленным хостом..

для этого у него должна быть авторизация, конечно же.

Цитата:
чекеры\брутфорсеры на сквиду

но они не сработают, так как отвечает то апач.
вполне возможно, что до обработки в mod_rewrite он удаляет/преобразует все ненужное.

далее.. попробуйте с "чистым" запросом, как
RewriteCond %{THE_REQUEST} ^(GET|POST) http://
Автор: perdun
Дата сообщения: 04.05.2014 19:53
Cheery

Цитата:
для этого у него должна быть авторизация, конечно же.

само собой она есть. там в логе как раз и видно, что пихается хэш, и, как правило, дропается фаером по частоте "пихания"..
но, видимо, бывает, что и подходит (ибо пасс децкий), раз пир устанавливается..

не могу понять, толи движок прохачили, толи mod_proxy..
к сквиде снаружи, ессно, нет доступа, значит атака изнутри..

пробывал варианты

Код: RewriteCond %{THE_REQUEST} ^(GET|POST)http://
#RewriteRule !^http://(www\.)site(.*) - [F]
RewriteRule ^(.*) - [F]
Автор: Cheery
Дата сообщения: 07.05.2014 01:02
perdun

Цитата:
RewriteCond %{THE_REQUEST} ^(GET|POST)http://

там пробел между ) и http
Автор: perdun
Дата сообщения: 07.05.2014 09:29
Cheery

Цитата:
там пробел между ) и http

RewriteCond: bad flag delimiters
может экранировать пробел?


Добавлено:
вопрос начинает выходить за рамки..
но вот включение реврайта никак не влияет на это

Код: GET http://ib.adnxs.com/ttj?id=2170228&size=160x600&cb=[CACHEBUSTER]&referrer=[REFERRER_URL]&pubclick=[INSERT_CLICK_TAG] HTTP/1.0" 403 205
Автор: Cheery
Дата сообщения: 07.05.2014 20:38
perdun

Цитата:
RewriteCond: bad flag delimiters
может экранировать пробел?

ну да, запишите как \пробел


Цитата:
но надо что-то делать.. что это за атака может быть.

да что же вы так реагируете то на все?
это явно бот, возможно ищут прокси или способы для накрутки счетчика/трафика в баннерной сети.

насчет сквида - смотрите откуда идут подключения, там и копайте.
по умолчанию в апаче вообще лучше не использовать mod_proxy - для этого есть такие вещи, как nginx, к примеру.
а если используете, то настраивайте так, чтобы не пропускало все подряд.
Автор: gruslava
Дата сообщения: 24.07.2014 12:34
Есть задача убрать index.php из текста запроса в движках или даже при обращении к главной странице через /index.php вместо /. Если делать это простым redirect 301, то возникает циклический редирект, т.к. движки часто имеют свои правила работы через index.php

Применил такую конструкцию:

Код: RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
Автор: drrdar
Дата сообщения: 09.09.2014 12:06
Всем доброго!

Надеюсь, написал в ту тему. На самом деле, мне для mod_rewrite .htaccess'ного надо, кривые сцылки переправить, дубли закрыть. Сразу скажу, чтобы тапками не кидали, с регекспами мало знаком, в основном - каюсь - совсем уж простецкими решениями пользуюсь по необходимости, которых в интернете тоннами выложено. Хотя можете и кинуть, чего уж. ))

В общем, корявый битрикс выдаёт, как выяснилось, хренову тучу дублей, т.о., сайт ни фига не двигается в поисковиках.

Неправильный УРЛ выглядит вот так:

http://examp.le/catalog/detail.php?id=777&section_id=string1&cat=789

На самом деле, это дубль, и вместо string1 нужно конкретное число, например, 123. А вместо 777 м.б. любая последовательность из 3-х цифр. Соотв., с этой кривой ссылки нужен редирект на

http://examp.le/catalog/detail.php?id=777&section_id=123&cat=789

Почитал, что с помощью QUERY_STRING такое должно парситься. Что-то типа

RewriteCond %{QUERY_STRING} ^section_id=(string1)&cat=789$

RewriteRule ^catalog/detail.php?id=([0-9]{1,3})& http://examp.le/catalog/detail.php?id=$1&section_id=123&cat=125

Естественно, ни фига не работает, ибо тёмный лес вообще.

Благодарю за любую помощь!
Автор: Mavrikii
Дата сообщения: 21.09.2014 22:19
drrdar
зачем вам mod_rewrite в данном случае? добавляете кусок php кода в detail.php, в котором смотрите значения id и section_id, после чего делаете 301 переадресацию с помощью функции header
Автор: evoroz
Дата сообщения: 23.09.2014 01:16
Все на хостинге.
На корневой директории Joomla и есть index.php.
Есть поддиректория /store/ и есть свой index.php.
Вопрос вот в чем: хотелось бы, чтобы при обращении к сайту по дефолту открывался файл /store/index.php.
Пробовал директивы DirectoryIndex и Redirect - файл в store открывается, НО index.php в корне уже не открывается. А он нужен.
Подскажите, куда нужно рыть?
Автор: Mavrikii
Дата сообщения: 23.09.2014 01:38
evoroz

Цитата:
по дефолту

это значит / -> /store/index.php без переадресации?
Автор: evoroz
Дата сообщения: 23.09.2014 10:04
Mavrikii
Мне нужно, чтобы при наборе hthp://имя_сайта.ru открывалась страница /store/index.php
В корне у меня блог джумлы. Если объявить /store/index.php главной, в блог я никак не попадаю.
Автор: Mavrikii
Дата сообщения: 23.09.2014 20:40
evoroz

если в .conf файл, то

RewriteEngine on
RewriteRule ^/$ /store/index.php [L]

об этом речь?

если с переадресацией, то [R,L]

если в .htaccess, то
RewriteRule ^$ /store/index.php [L]
Автор: evoroz
Дата сообщения: 23.09.2014 22:32
Mavrikii

Цитата:
об этом речь?

Нет. Твой вариант, увы, не проходит.
Речь вот о чем: нужно условие:
Если клиент пришел из интернета - отправляем на /store/
Если внутренний переход, то может пройти в корень.
Автор: Mavrikii
Дата сообщения: 23.09.2014 22:34
evoroz

Цитата:
Если внутренний переход, то может пройти в корень

и как вы его определите, внутрений или нет?
можете, конечно, по рефереру - но это ненадежно.
можно кидать всегда, если не выставлена кука, но mod_rewrite тут не нужен.
хотя, конечно, можно проверять куку и в mod_rewrite
Автор: drrdar
Дата сообщения: 24.09.2014 15:24
Mavrikii

Цитата:
зачем вам mod_rewrite в данном случае? добавляете кусок php кода в detail.php, в котором смотрите значения id и section_id, после чего делаете 301 переадресацию с помощью функции heade


Не всегда есть возможность туда лезть: это пилят другие люди.

А я разобрался сам. Если кому надо, то вот, напомню исходные данные:

Цитата:
Неправильный УРЛ выглядит вот так:

http://examp.le/catalog/detail.php?id=777&section_id=string1&cat=789

На самом деле, это дубль, и вместо string1 нужно конкретное число, например, 123. А вместо 777 м.б. любая последовательность из 3-х цифр. Соотв., с этой кривой ссылки нужен редирект на

http://examp.le/catalog/detail.php?id=777&section_id=123&cat=789

Почитал, что с помощью QUERY_STRING такое должно парситься. Что-то типа

RewriteCond %{QUERY_STRING} ^section_id=(string1)&cat=789$

RewriteRule ^catalog/detail.php?id=([0-9]{1,3})& http://examp.le/catalog/detail.php?id=$1&section_id=123&cat=125

Естественно, ни фига не работает, ибо тёмный лес вообще.


Вот так работает:

RewriteCond %{QUERY_STRING} ^id=([\d]{3})&section_id=string1&cat=789$
RewriteRule ^catalog/detail\.php$ http://examp.le/catalog/detail.php?id=%1&section_id=123&cat=789 [L,R=301]

Битрикс - зло.
Автор: natpoit
Дата сообщения: 20.11.2014 22:29
Скажите, пожалуйста, а как мне переименовать директорию?

Напр, установленный скрипт генерир. линки так

http://mysite.com/wpccategories/name_category

A мне надо:

http://mysite.com/categories/name_category



Автор: Mavrikii
Дата сообщения: 20.11.2014 22:41
natpoit

Код: RewriteRule ^/?wpccategories/(.*)$ /categories/$1 [L]
Автор: natpoit
Дата сообщения: 20.11.2014 23:48
Спасибо большое, сейчас попробую
Автор: natpoit
Дата сообщения: 22.11.2014 18:24
не работает почему-то

Код:
AuthType Basic
AuthName "Please check back in 24 hours"
AuthUserFile

"/home/camelou2/.htpasswds/public_html/passwd"
require valid-user

ServerSignature Off
LimitRequestBody

10240000
<Files wp-config.php>
order allow,deny
deny from all
</Files>
#AIOWPS_BASIC_HTACCESS_RULES_END
#AIOWPS_PINGBACK_HTACCESS_RULES_START
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
#AIOWPS_PINGBACK_HTACCESS_RULES_END
#AIOWPS_BLOCK_SPAMBOTS_START
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^(.*)?wp-comments-post\.php(.*)$
RewriteCond %{HTTP_REFERER} !^http(s)?://camelotfoods\.com [NC,OR]
RewriteCond %{HTTP_USER_AGENT}

^$
RewriteRule .* http://127.0.0.1 [L]
</IfModule>
#AIOWPS_BLOCK_SPAMBOTS_END
# END All In One WP Security

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress


RewriteEngine On
RewriteRule ^/?wpccategories/(.*)$ /categories/$1 [L]

Автор: Mavrikii
Дата сообщения: 22.11.2014 22:02
natpoit
ну так до последнего правила и не дойдет вообщем из за
Цитата:
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

поместите выше.
Автор: natpoit
Дата сообщения: 23.11.2014 03:14
ой, прошу прощения



Заработало. Но теперь 404::

http://site.com/wpccategories/gluten-free-brownies/ - старый линк, контент на месте
http://site.com/categories/gluten-free-brownies/ - новый линк, ответ 404, контент не найден
Автор: Mavrikii
Дата сообщения: 23.11.2014 06:21
natpoit

Цитата:
новый линк, ответ 404, контент не найден

ну так генерит то, как понимаю, уже сам движок сайта?
если у него прописаны категории как в первом случае, то это нужно править и в базе.
Автор: natpoit
Дата сообщения: 23.11.2014 13:04
Да, я посмотрела, действительно это в базе прописано, а если поправить, то при обновлении скрипта все равно все вернется. Ну ладно. Спасибо за помощь!!!
Автор: Mavrikii
Дата сообщения: 23.11.2014 16:42
natpoit

Цитата:
то при обновлении скрипта все равно все вернется

С чего бы? Пользовательские данные в базе, обычно, не меняются при обновлении.
Автор: appolo
Дата сообщения: 29.11.2014 18:44
Добрый вечер ,подскажите пожалуйста как мне в wordpress поставить рядом два html кода? так чтоб чат и плеер стояли друг около друга а не один под вторым? вот оба кода [hana-code-insert name='videopleer' /] и второй код [hana-code-insert name='ChatovodChatovod' /] заранее большое спасибо ....замучалась уже )))
Автор: Mavrikii
Дата сообщения: 29.11.2014 21:30
appolo
1) вы название темы читали? или лишь бы запостить?
2) WordPress
3) wp тут не при чем, нужно смотреть на тот html+css код что генерится вместо этих шорткодов
Автор: appolo
Дата сообщения: 29.11.2014 22:27
не ругайтесь на меня я совсем новичок в этом деле и ко всему же еще самоучка

Добавлено:
помогите кто может разобраться ....html в шорткод я уже сама сгенерировала ,а вот как дальше быть незнаю
Автор: Mavrikii
Дата сообщения: 29.11.2014 23:19
appolo

Цитата:
помогите кто может разобраться

здесь - не помогут, неужели непонятно?
Автор: diskoff
Дата сообщения: 17.01.2015 23:02
Здравствуйте !
не подскажете как сделать редирект с https на http с помощью mod_rewrite
Автор: Mavrikii
Дата сообщения: 17.01.2015 23:06
diskoff
вы определитесь - с https на http или наоборот?

https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

Предыдущая тема: PHP: Регулярные выражения (RegExp, Regular, eregi, preg)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.