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

Компьютерный форум 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

 

Аватара для Prisoner

Engrossed by the Void


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

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


угу, а еще сконфигурировать правила и опции в .htaccess, что в корне сайта будет.
К примеру
Код: Выделить весь код
RewriteEngine on
RewriteRule ^news[\/]{0,1}$                                                  /index.php?page=news&nid=0
RewriteRule ^news/([0-9]+)[\/]{0,1}$                                         /index.php?page=news&nid=$1
RewriteRule ^news/archive[\/]{0,1}$                                          /index.php?page=news/archive&nid=0
RewriteRule ^news/archive/([0-9]+)[\/]{0,1}$                                 /index.php?page=news/archive&nid=$1
RewriteRule ^mail[\/]{0,1}$                                                  /index.php?page=mail&cid=0&oid=0&did=0
RewriteRule ^mail/([0-9]*)[\/]{0,1}$                                         /index.php?page=mail&cid=$1&oid=0&did=0
RewriteRule ^mail/([0-9]*)/([0-9]*)[\/]{0,1}$                                /index.php?page=mail&cid=$1&oid=$2&did=0
RewriteRule ^mail/([0-9]*)/([0-9]*)/([0-9]*)[\/]{0,1}$                       /index.php?page=mail&cid=$1&oid=$2&did=$3
RewriteRule ^([a-zA-Z0-9_\/\$]*)[\/]{0,1}$                                   /index.php?page=$1&%{QUERY_STRING}

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 11:29, 14-09-2005 | #21



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

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


Аватара для benya

Старожил


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

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


Да все я это сконфигурировал и htaccess правильный. На удаленном хостинге работает. А на моем win32 домашнем - Нет. Апач 1.3.23. Ошибка 404 нет такой страницы ;(

Отправлено: 14:12, 14-09-2005 | #22


Аватара для E-mail

Ветеран


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

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


benya можно попробовать писать полные пути а не относительные

-------
Основы HTML | Конференции


Отправлено: 23:06, 29-09-2005 | #23


Аватара для benya

Старожил


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

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


Нет я уже разобрался. htacess то по умолчанию выключен. Вот и вся проблема. Работает.

Отправлено: 23:08, 29-09-2005 | #24

Tatan1


Сообщения: n/a

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


Подскажите как сделать чтобы вот так было: есть файлы в корне сайта типа about.php, contact.php, index.php и т.п. и их можно было-бы вызывать например вот так: http://www.site.com/about или например, http://www.site.com/index.php?about.
Если можно, приведите пожалуйста полный листинг того, что надо добавить в .htaccess. Заранее благодарен.

Отправлено: 14:00, 10-02-2006 | #25


Аватара для Prisoner

Engrossed by the Void


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

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


Код: Выделить весь код
RewriteEngine on
RewriteRule ^about[\/]{0,1}$                                                  /index.php?about
Как вариант. Второй вид вызова (через index.php) не будет обработан условиями мода и потому тоже сработает на показ странички about.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 18:19, 10-02-2006 | #26

Tatan1


Сообщения: n/a

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


Prisoner
Не получается, ошибка 403.

Отправлено: 21:50, 10-02-2006 | #27


(*.*)


Administrator


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

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


Какая интересная тема! Я ее обязательно прочитаю целиком, если вы скажете можно ли сделать следующую вещь. Есть поддомен unattended.oszone.net (некоторые о нем даже знают ;-), но все материалы уже давно переехали и главная страница находится тут http://oszone.net/display.php?id=2747

Когда осуществлялся переезд я где-то вычитал про htaccess (o котором вообще понятия не имел) и сделал
Код: Выделить весь код
RedirectMatch seeother ^/(.+)$ http://oszone.net/display.php?id=2747
чтобы все запросы на страницы поддомена перебрасывались на новую главную страницу. Это все работает, и при запросе unattended.oszone.net все попадают куда надо. А можно ли сделать так, чтоб в адресной строке после этого отображалось не
Код: Выделить весь код
http://oszone.net/display.php?id=2747
а
Код: Выделить весь код
http://unattended.oszone.net
Спасибо за внимание!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 06:56, 01-03-2006 | #28


Аватара для Prisoner

Engrossed by the Void


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

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


Это внешний редирект используется. Можно попробовать (для относительных ссылок на unattended.oszone.net) применить правило для внутреннего редиректа чего бы то ни было на oszone.net. Тогда часть .htaccess ответственная за это дело примет вид:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^unattended.oszone.net$
RewriteRule ^(.+)[\/]{0,1}$ http://oszone.net/$1?%{QUERY_STRING}

Пример бы имел практический смысл, если бы не делал тоже самое, что выше - не менял адрес в адресной строке. Но, насколько я понял без внешнего редиректа (когда сервер в силу каких-то причин отправляет броузеру заголовочную информацию о смене адреса) с домена на домен не обойтись. Прошу коллег поправить меня, если я ввожу в заблуждение уважаемого модератора.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 16:20, 01-03-2006 | #29


(*.*)


Administrator


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

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


Prisoner
Спасибо за ответ. Возможно, я не совсем подробно об'яснил, а еще не исключено, что я выбрал совсем не ту тему для вопроса. Попробую пояснить в меру моих весьма скромных знаний в данной области. Когда поддомен был создан, я получил данные для соединения по FTP: IP, username/pass. После установки соединения я попадал в каталог с
cgi-bin\
html\
logs\
В html все мои файлы и лежали. Туда же в итоге я кинул свой htaccess. Мне никто толком даже об'яснить не мог как нормально редирект сделать Так что я нарыл что-то в гугле...

Теперь все, что я хочу сделать - это отображать другой адрес в адресной строке. Т.е. не адрес страницы, отдаваемой движком сервера, а поддоменное имя. Возможно ли такое вообще? Может надо действовать иными методами и mod_rewrite тут вообще не причем?

-------
Канал Windows 11, etc | Чат @winsiders


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



Компьютерный форум 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




 
Переход