|
Компьютерный форум 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 | Цитировать нужно уточнить насчет последнего слеша, т.к. правило не предусматривает его наличие, поэтому если в конце адреса будет слеш, правило не сработает... (нужно добавить туда /?)
|
Отправлено: 15:05, 31-03-2010 | #141 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Такс. Первая проблема решена, спасибо)
Теперь еще мелочь: htaccess тот же RewriteEngine On RewriteBase / RewriteRule ^([A-Za-z]+)/?$ index.php?lang=$1 [L] RewriteRule ^([A-Za-z]+)/([A-Za-z]+)/?$ index.php?lang=$1&page=$2 site.ru/ru/page также, как и site.ru/ru/page/ а вот site.ru/ru отправляет, но в строке тут же меняет на "http://siberiaczar/ru/?lang=ru" С чем бы это могло быть связано? И еще, как сделать что о вроде редиректа, чтоб /ru/page автоматически менялось на /ru/page/ |
Отправлено: 15:49, 31-03-2010 | #142 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Sham я не сказал что код нерабочий, смотри выше. я сказал что он у меня не работает и спросил о доп настройках которые могут помешать нормальной работе mod_rewrite- а, пожалуйста напишите что конкретно должно быть у меня в настройках апач, у меня стоит Lenny.
|
------- Отправлено: 16:06, 31-03-2010 | #143 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Цитата droZel:
Цитата droZel:
вообще, если например стоит nginx, то там мб свои правила прописаны, и апач тогда уже принимает измененный вариант. Т.ч. нужно смотреть комплексно, исходя из общей конфигурации... Цитата total_abandon:
|
|||
Отправлено: 16:32, 31-03-2010 | #144 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата Sham:
|
|
Отправлено: 16:46, 31-03-2010 | #145 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать оно перед всеми правилами должно стоять (внешний редирект)
|
Отправлено: 16:54, 31-03-2010 | #146 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата Sham:
Можно чуть подробнее? |
|
Отправлено: 16:58, 31-03-2010 | #147 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать Цитата droZel:
|
|
Отправлено: 17:06, 31-03-2010 | #148 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать ну хорошо. но ведь
RewriteRule ^([A-Za-z]+)/([A-Za-z]+)$ http://%{HTTP_HOST}/$1/$2/ [L] RewriteRule ^([A-Za-z]+)/([A-Za-z]+)/$ index.php?lang=$1&page=$2 я мог бы сделать Разве это не тоже самое? Мне нужна именно видимая подмена |
Отправлено: 17:24, 31-03-2010 | #149 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать http:// - внешний редирект (по сути флаг R), т.е. браузеру шлется Location и обработка кончается - это и есть видимая подмена.
|
Отправлено: 17:29, 31-03-2010 | #150 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - 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 |
|