|
Компьютерный форум 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 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать E-mail
ага... тогда один регексп будет в несколько десятков килобайт... |
------- Отправлено: 13:01, 04-08-2006 | #61 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Vlad Drakula
Цитата:
![]() Цитата:
|
||
Отправлено: 22:05, 04-08-2006 | #62 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать Sham
Цитата:
Цитата:
|
||
------- Отправлено: 22:16, 04-08-2006 | #63 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Vlad Drakula
Цитата:
Цитата:
![]() |
||
Отправлено: 05:56, 05-08-2006 | #64 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать Sham
иначе перекидывалось на другой домен... у охной площадки два домена... |
------- Отправлено: 09:43, 05-08-2006 | #65 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham вообще то опять не так объяснил((
директорию k9 удалили, создали директорию k3, но еще были директории k10 и k11 и теперь все это находится только в k3 загвоздка в том, что некоторые value у k10 такие же как и у k11 и k9 ( т.е. если раньеш была ссылка: http://site.ru/k9/send.php?value=5&page=1-9 она должна стать: http://site.ru/k3/send.php?value=97&page=1-9 а если ссылка: http://site.ru/k10/send.php?value=5&page=1-9 она должна стать: http://site.ru/k3/send.php?value=76&page=1-9 вот так вот( и что тут можно сделать?.. |
------- Отправлено: 02:41, 16-08-2006 | #66 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать E-mail
## этот код до черты в .htaccess и кладем в корень (перед k3) RewriteEngine On ## подмена каталога k9, k10, k11 на k3 RewriteRule ^(k9|k10|k11)(.*)$ k3$2 [L] ------------------------------------------------------------------------- ## а этот .htaccess с кодом ниже кладем в каталог k3 RewriteEngine On ## если value по-разному меняется для k9, k10, k11, сверяем по каждому... ## ----------НАЧАЛО value=5----------- ## если value=5 и каталог k9 RewriteCond %{THE_REQUEST} \/k9\/ RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)((\&.+)*)$ RewriteRule ^send\.php$ send.php?page=%1&value=97%2 [L] ## если value=5 и каталог k10 RewriteCond %{THE_REQUEST} \/k10\/ RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)((\&.+)*)$ RewriteRule ^send\.php$ send.php?page=%1&value=76%2 [L] ## если value=5 и каталог k11 (к примеру) RewriteCond %{THE_REQUEST} \/k11\/ RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)((\&.+)*)$ RewriteRule ^send\.php$ send.php?page=%1&value=ТВОЕ_ЧИСЛО%2 [L] ## -----------КОНЕЦ value=5----------- ## ## Если value одинаково меняется для всех мертвых каталогов... ## например value=6... ## -----------НАЧАЛО value=6------------ RewriteCond %{QUERY_STRING} value\=6\&page\=([0-9\-\_]*)((\&.+)*)$ RewriteRule ^send\.php$ send.php?page=%1&value=ТВОЕ_ЧИСЛО%2 [L] ## -----------КОНЕЦ value=6-------------- ## и все в таком же духе... |
Последний раз редактировалось Sham, 18-08-2006 в 01:12. Отправлено: 05:11, 16-08-2006 | #67 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
а если я вдруг не помню какие именно цифры у папок совпадают, я конечно могу посмотреть, но тогда придется сравнить кучу файлов старых урлов, и скорее всего я так и поступлю(( , но можно както это автоматизировать?.... я например ума не приложу как.. кстати говоря, там помимом page и value есть еще параметр &lang=en или вообще lang может отсутствовать..... |
|
------- Отправлено: 20:38, 16-08-2006 | #68 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать E-mail
Цитата:
Цитата:
![]() Ты видимо приколоться надо мной решил... ![]() С какой стороны (в каком месте) QUERY_STRING может быть &lang=en? Есть ли какая-нить логика в цифрах, которые у тебя меняются (может формула какая)? Что ты именно хочешь автоматизировать? Если логики нет, то без кучи-малы никак не обойтись... Ты сначала посчитай, сколько всего значений value у тебя меняется, столько и будет наборов правил, и с каждым значением тебе придется работать отдельно (где каталоги разные, или еще че-нить). И что, в каждой папке send.php был? Извини, моя фамилия не Холмс... |
||
Отправлено: 01:07, 17-08-2006 | #69 |
![]() Ветеран Сообщения: 640
|
Профиль | Сайт | Отправить PM | Цитировать Sham нет я не прикалываюсь, просто обнаружилось еще несколько папок)..
Цитата:
|
|
------- Отправлено: 08:22, 17-08-2006 | #70 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - 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 |
|