|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » mod_rewrite etc. |
|
mod_rewrite etc.
|
![]() Ветеран Сообщения: 1864 |
Вот только недавно познакомился с этим замечательным модулем
Вот что я вынес из данного знакомства-с помощью mod_rewrite можно: 1) Самое распространённое использование-перезапись урлов, например есть урл index.php?forum=webmaster&topic=45 можно переписать в index.php/webmaster/45, что для некоторых поисковых машин намного более лучший вариант 2)запретить доступ к определённому файлу RewriteRule ^file.ext$ - [F] 3)запретить доступ определённому браузеру, сборщику почты, доступ с определённого айпи или пришедшим с определённого сайта RewriteCond %{HTTP_USER_AGENT} ^Browser_Name [OR] RewriteCond % {REMOTE_HOST} ^www.badsite.com$ [OR] RewriteCond % {REMOTE_ADDR} ^169.45.23.01$ RewriteRule ^.*$ - [F] Это было самое распространённое применение данного модуля, но есть ещё много всяких интересных хитростей: наприсер я недавно нашёл такое применение-при вызове страницы pic.html, нужно показывать картинку дня, поэтому можно переписать этот урл в pic-06-06.html c помощью серверных переменных TIME_MON и TIME_DAY RewriteRule ^pic.html$ pic-%{TIME_MON}-%{TIME_DAY}.html Или ещё кому нравится можно переписать файл index.php кому очень захочется ![]() Если кто ещё знает интересные применения данного модуля, то постите тут |
|
------- Отправлено: 14:41, 06-06-2004 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать |
Отправлено: 03:57, 02-11-2006 | #81 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham RewriteRule ^(.*)index\.html?(fmfmfkrk)?$ http://site.ru/$1
а как понимать конструкцию: ?()? RewriteOptions inherit это я так понимаю заставляет обрабатываться первым файл htaccess тот что в корне, а затем тот что в папке go? или я чтото не понимаю в этом мире? ![]() Цитата:
![]() ![]() |
|
------- Отправлено: 00:47, 03-11-2006 | #82 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать E-mail RTFM
|
Отправлено: 20:51, 03-11-2006 | #83 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham не серьездный ответ для серьездного форума
![]() |
------- Отправлено: 02:45, 05-11-2006 | #84 |
Ветеран Сообщения: 778
|
Профиль | Сайт | Отправить PM | Цитировать Снова привет
![]() 1. Как сделать чтобы при любых запросах типа www.сайт.ru, www.bla-bla-bla.сайт.ru, bla-bla-bla.сайт.ru, 123.qwerty.сайт.ru перенаправляло на http://сайт.ru? Так будет корректно? RewriteCond %{HTTP_HOST} ^(.*).сайт.ru$ [NC] RewriteRule (.*) http://сайт.ru/$1 [R=permanent,L] RewriteCond %{QUERY_STRING} ^(.*)=http://(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)=http\%3A\%2F\%2F(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)=ftp://(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)=ftp\%3A\%2F\%2F(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)=https://(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)=https\%3A\%2F\%2F(.*) [NC] RewriteRule ^.* - [F,L] Спасибо ![]() |
------- Отправлено: 12:01, 02-02-2007 | #85 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Siava one
1. а энти папки то есть или их нет, а ежели есть, то где? Никто же не знает (я в т.ч.), как у тебя субдомены прописаны... если нет, то редирект в конф. файле надо прописать..., а есть - в кажную папку - htaccess. Огласите весь спск пжалста ![]() 2. сверху свое правило пропиши (они сверху вниз выполняются)... |
Отправлено: 13:43, 02-02-2007 | #86 |
Ветеран Сообщения: 778
|
Профиль | Сайт | Отправить PM | Цитировать Sham
1. Субдоменов нет, но наверно апач у меня сконфигурирован так, что с любым субдоменом заходит на один и тот же сайт. 2. Так какое своё правило? У меня его нет, вот и спрашиваю как оно должно выглядеть? ![]() P.S. С п.1 разобрался ![]() п.2 пока под вопросом. |
------- Последний раз редактировалось Siava one, 02-02-2007 в 20:19. Отправлено: 15:25, 02-02-2007 | #87 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Siava one
1. дело хозяйское... но доп. инфа бы не помешала... 2. Пробуй этот вариантик (с учетом того, что у тебя было - лишнего много imho) |
Отправлено: 20:56, 02-02-2007 | #88 |
Ветеран Сообщения: 778
|
Профиль | Сайт | Отправить PM | Цитировать Sham
Спасибо ![]() ![]() P.S. Хотя.. при использовании остальных строчек это условие перестаёт работать. То есть допускает использование ?url=... с любыми другими файлами. Вот мои извращения: RewriteCond %{QUERY_STRING} ^[^\=]+\=(https?|ftp).* [NC] RewriteCond %{REQUEST_FILENAME} !^forum\/go\/url\.php [NC] # security settings RewriteCond %{QUERY_STRING} ^(.*)wget\%20 [OR] RewriteCond %{QUERY_STRING} ^(.*)fetch\%20 [OR] RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR] RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR] RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)passthru(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)\.printf\( [OR] RewriteCond %{QUERY_STRING} ^(.*)cmd [OR] RewriteCond %{QUERY_STRING} ^(.*)\%27(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)"(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)\%22(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)`(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)\%60(.*) [OR] #RewriteCond %{QUERY_STRING} ^(.*)\%25(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)phpbb_root_path=(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)configdir(.*) [NC,OR] RewriteCond %{QUERY_STRING} ^(.*)curl(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)lynx(.*) [OR] RewriteCond %{QUERY_STRING} ^(.*)w3\%20(.*) [OR] RewriteCond %{HTTP_COOKIE}% s:(.*):\%22test1\%22\%3b [OR] RewriteCond %{QUERY_STRING} .*'.* [NC] RewriteRule ^.* - [F,L] ![]() Файл, для которого разрешены запросы вида file.php?url=http://site.ru/.. находится в каталоге /forum/go/url.php Для всех остальных файлов такие запросы должны возвращать ошибку. |
Последний раз редактировалось Siava one, 03-02-2007 в 00:57. Отправлено: 23:54, 02-02-2007 | #89 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Siava one
нифигасе списочек... ![]() вообще, тебе лучше все в виде одной регулярки оформить... большая получится, но будет производительнее намного... типа RewriteCond %{QUERY_STRING} (wget\%20|fetch\%20|echr|rush\=\%65\%63\%68|и т.д.) Разберешься короче ![]() |
Отправлено: 02:24, 03-02-2007 | #90 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - mod_rewrite .htaccess | Wimpheling | Общий по Linux | 0 | 08-10-2013 14:57 | |
Разное - Включение модуля mod_rewrite | Lenivets1 | Программирование и базы данных | 5 | 13-02-2012 20:00 | |
mod_rewrite | Jaels | Программное обеспечение Linux и FreeBSD | 2 | 06-01-2012 12:09 | |
mod_rewrite | kishert | Вебмастеру | 3 | 10-03-2009 06:52 | |
mod_rewrite | PHANTOM777 | Вебмастеру | 1 | 20-07-2008 10:00 |
|