Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » mod_rewrite etc.

Ответить
Настройки темы
mod_rewrite etc.

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


Вот только недавно познакомился с этим замечательным модулем

Вот что я вынес из данного знакомства-с помощью 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 кому очень захочется в index.bmp

Если кто ещё знает интересные применения данного модуля, то постите тут

-------
Fortes fortuna adiuvat


Отправлено: 14:41, 06-06-2004

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Vadikan
А доступ к конфигу Apache есть?? Тогда можно сделать виртуальный хост

-------
Fortes fortuna adiuvat


Отправлено: 10:30, 02-03-2006 | #31



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


(*.*)


Administrator


Сообщения: 32792
Благодарности: 5582

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
Есть. А что надо сделать конкретно?

-------
Бесплатно получить Windows 10 | Скачать диск Windows без регистрации и СМС | Узнать всё об SSD | Oчистить папку WinSxS


Отправлено: 21:18, 02-03-2006 | #32


.


Сообщения: 2192
Благодарности: 555

Профиль | Сайт | Отправить PM | Цитировать


Vadikan
Код: Выделить весь код
RewriteEngine on
RewriteRule ^/(.+)$ http://oszone.net/display.php?id=2747 [P]
Флаг P делает подзапрос (скрытый для клиента) с помощью модуля mod_proxy. Если этого модуля нет, то не судьба...

Отправлено: 02:09, 30-04-2006 | #33


(*.*)


Administrator


Сообщения: 32792
Благодарности: 5582

Профиль | Сайт | Отправить PM | Цитировать


Sham
Значит можно все-таки? Но я не вижу где указан домен, который должен отображаться: http://unattended.oszone.net/
Цитата:
mod_proxy. Если этого модуля нет, то не судьба...
Раз это модуль, то наверное его можно установить или подключить? Можно подробнее, я в этом не разбираюсь.

-------
Бесплатно получить Windows 10 | Скачать диск Windows без регистрации и СМС | Узнать всё об SSD | Oчистить папку WinSxS


Отправлено: 08:43, 30-04-2006 | #34


.


Сообщения: 2192
Благодарности: 555

Профиль | Сайт | Отправить PM | Цитировать


Vadikan
У тебя ж .htaccess в поддомене unattended? Значит на любой URL (на этот поддомен) в соотв. с регуляркой будет подзапрос на реальный сайт (второй URL), и первый URL в строке браузера останется (подзапрос то скрытый, браузер ни о чем не догадывается ).

здесь также уточнил на случай ссылки вида unattended.oszone.net/display.php?* (флаг L чтобы правило не циклило):
Код: Выделить весь код
RewriteEngine on
#RewriteCond %{THE_REQUEST} display\.php
#RewriteRule ^(.+)$ http://oszone.net$1 [L,P]
RewriteRule .* http://oszone.net/display.php?id=2747 [L,P]
Без практической проверки тут не обойтись, т.к. mod_rewrite штука хитрая, и порой непредсказуемая, может зациклить

Насчет mod_proxy. Надо посмотреть в phpinfo() в loaded modules. Если нету там, то открой httpd.conf и раскоменть строку LoadModule proxy_module modules/mod_proxy.so (убери #).

Последний раз редактировалось Sham, 03-05-2006 в 02:45. Причина: ошибка в коде


Отправлено: 11:29, 30-04-2006 | #35


(*.*)


Administrator


Сообщения: 32792
Благодарности: 5582

Профиль | Сайт | Отправить PM | Цитировать


Sham
Спасибо за развернутый ответ. Надо поэкспериментировать. Пока что после переезда на новый сервер перестало работать то, что было раньше
Код: Выделить весь код
RedirectMatch seeother ^/(.+)$ http://oszone.net/display.php?id=2747
Я даже толком не знаю что там происходит...

Цитата:
здесь также уточнил на случай ссылки вида unattended.oszone.net/display.php?* (флаг L чтобы правило не циклило):
Вообще-то, таких ссылок нет. Возможно где-то сохранились в сети ссылки на старые страницы типа unattended.oszone.net/dir/page.html Такие надо бы все равно редиректить на главную страницу.

-------
Бесплатно получить Windows 10 | Скачать диск Windows без регистрации и СМС | Узнать всё об SSD | Oчистить папку WinSxS


Отправлено: 21:29, 01-05-2006 | #36


.


Сообщения: 2192
Благодарности: 555

Профиль | Сайт | Отправить PM | Цитировать


Vadikan
А поясни, пожалуйста, зачем у тебя в строке seeother? Вообще, маркеры (^$) не нужны там. И скобки тоже (подстановку то не делаем). Как говорится, будь проще...
Код: Выделить весь код
RedirectMatch .* http://oszone.net/display.php?id=2747

#Или то же самое с пом. mod_rewrite:

RewriteEngine on
RewriteRule .* http://oszone.net/display.php?id=2747 [L,R]
Цитата:
Вообще-то, таких ссылок нет. Возможно где-то сохранились в сети ссылки на старые страницы типа unattended.oszone.net/dir/page.html Такие надо бы все равно редиректить на главную страницу.
а, ну тогда только оставим 1 и 4 строку в коде (в моем предыдущем посте).

Отправлено: 02:33, 03-05-2006 | #37


(*.*)


Administrator


Сообщения: 32792
Благодарности: 5582

Профиль | Сайт | Отправить PM | Цитировать


Sham
Цитата:
А поясни, пожалуйста, зачем у тебя в строке seeother?
Вот, второй абзац

У меня сейчас нет доступа никуда все равно, так что я могу только просить все это сделать... Спасибо за помощь.

-------
Бесплатно получить Windows 10 | Скачать диск Windows без регистрации и СМС | Узнать всё об SSD | Oчистить папку WinSxS


Отправлено: 02:59, 03-05-2006 | #38


Аватара для Siava one

Ветеран


Сообщения: 775
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Привет всем
А как можно сделать с помощью rewrite_mod, чтобы вместо "битых" картинок в форуме отображалась какая-нибудь одна и та же.
Например кто-нибудь с помощью тега [img] выложил картинку, а через некоторое время картинки не стало физически.. чтобы не было пустого прямоугольника.

-------
Siava.ru


Отправлено: 02:27, 23-07-2006 | #39


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


Siava one
нужно настраивать скорее всего не rewrite_mod а то что отсылается в случае если файл не найден.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 10:15, 23-07-2006 | #40



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » mod_rewrite etc.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - 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




 
Переход