|
Компьютерный форум 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 | Цитировать E-mail, ну я обновил свой пост с кодом... там подстановка %2 содержит все, что справа строки GET... да и с комментами я че-то начудил...
![]() |
Отправлено: 00:17, 18-08-2006 | #71 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
- две решотки в одной строчки для парсера конфига опасно серверу) - зачем разбивать на два файла - для корня и рабочей директории? - вот этот код вообще мне кажется излишен: - а вот тут к сожелению то, что справо от урла не будет работать как переменная со значением: RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)((\&.+)*)$ RewriteRule ^send\.php$ send.php?page=%1&value=97%2 [L] - и еще, лишняя проверка на директорию: - если одна из переменных не передается и вовсе редирект также не будет реализован Я реализовал это вот в таком виде: RewriteEngine On # #------- #--- k9 #------- RewriteCond %{QUERY_STRING} value\=1 RewriteCond %{QUERY_STRING} lang\=ru RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*) RewriteRule ^k9/send.php$ k3/send.php\?value\=101\&page\=%1%2%3\&lang\=ru [L] # RewriteCond %{QUERY_STRING} value\=1 RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*) RewriteRule ^k9/send.php$ k3/send.php\?value\=101\&page\=%1%2%3 [L] # RewriteCond %{QUERY_STRING} value\=1 RewriteRule ^k9/send.php$ k3/send.php\?value\=101 [L] #------- #--- k10 #------- RewriteCond %{QUERY_STRING} value\=1 RewriteCond %{QUERY_STRING} lang\=ru RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*) RewriteRule ^k10/send.php$ k3/send.php\?value\=111\&page\=%1%2%3\&lang\=ru [L] # RewriteCond %{QUERY_STRING} value\=1 RewriteCond %{QUERY_STRING} page\=([0-9]*)(\-|\_)([0-9]*) RewriteRule ^k10/send.php$ k3/send.php\?value\=111\&page\=%1%2%3 [L] # RewriteCond %{QUERY_STRING} value\=1 RewriteRule ^k10/send.php$ k3/send.php\?value\=111 [L] ![]() с огромным уважением! |
|
------- Отправлено: 03:36, 18-08-2006 | #72 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать E-mail
Цитата:
![]() Цитата:
![]() Цитата:
![]() Цитата:
![]() Цитата:
![]() Цитата:
![]() Все-таки думаю, ты не до конца разобрался в моем коде... у меня гораздо компактнее и рациональнее. Но как говорится - хозяин-барин... |
||||||
Отправлено: 05:35, 18-08-2006 | #73 |
![]() Старожил Сообщения: 302
|
Профиль | Сайт | Отправить PM | Цитировать Господа а Apache 1.3.7 не поддерживает комбинаций типа \w{2}? В смысле нормальных регулярных выражений?
|
Отправлено: 11:37, 15-09-2006 | #74 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать benya, Только POSIX-регулярки...
|
Отправлено: 03:54, 16-09-2006 | #75 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать а как сделать редирект
с site.ru/index.html на site.ru с site.ru/index.htmlfmfmfkrk на site.ru и с site.ru/все_что_угодно.htmldfklj на site.ru/все_что_угодно.html и с site.ru/все_что_угодно.htmdfklj на site.ru/все_что_угодно.htm и желательно по компактней? ![]() поможите.. |
------- Отправлено: 20:45, 30-10-2006 | #76 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось Sham, 31-10-2006 в 03:29. Отправлено: 22:37, 30-10-2006 | #77 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham что прости заменить?
![]() эм, а с директориями третьего и т.д. уровня такжеработает? site.ru/ttt/index.html на site.ru/ttt/ ? ![]() и еще как быть с htm и как учесть чтобы запросы ? и # не терялись? ![]() |
------- Отправлено: 00:54, 31-10-2006 | #78 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать E-mail обновил, должно работать.
Цитата:
![]() Цитата:
![]() |
||
Отправлено: 03:49, 31-10-2006 | #79 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham запрос редиректил на документ рут)
другой вопрос как сделать редирект чтобы с запросов вида: site.ru/go/home редиректило на site.ru/go/hotmepage.html и с site.ru/go/home/ редиректило на site.ru/go/hotmepage.html ? ![]() при этом индекс по умолчанию index.php |
------- Отправлено: 23:09, 01-11-2006 | #80 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - 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 |
|