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

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

 

Deadooshka


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

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


censore, первой строкой поставьте условие
Код: Выделить весь код
RewriteCond %{REQUEST_URI} !(i|css|js)\/
и перед второй
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:03, 22-12-2007 | #101



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

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


Новый участник


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

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


Спасибо!

Отправлено: 03:31, 24-12-2007 | #102


Новый участник


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

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


Доброе всем время суток)

У меня такой вопрос -
хочу все запросы типа - http://сайт/любой текст/ перенаправлять к примеру на http://сайт/index.php . Так что бы урл сохранялся , а выполнялся именно этот файл. И конечно если папка существует пере адресацию не делать.

заранее спасибо)

Отправлено: 23:43, 26-12-2007 | #103


Deadooshka


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

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


LineDir, но это будет замена 404...
Код: Выделить весь код
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:06, 27-12-2007 | #104


Новый участник


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

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


Sham,

Огромнейшие спасибо!! Очень помогло)))

Отправлено: 00:10, 27-12-2007 | #105


Аватара для BASSON_XVI

Пользователь


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

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


Есть url вида http://localhost/sse/index.php/news/news/26/ нужно получить следующее http://localhost/sse/index.php&url=/news/news/26/
Или что ещё лучше было бы сделать так что бы пути всех стилей, картинок, бакраундов и скриптов были не такие http://localhost/sse/index.php/news/...images/img.png , а такие http://localhost/sse/images/img.png.
Попробовал написать в .htaccess следующие:
Код: Выделить весь код
RewriteEngine On
RewriteRule ^index\.php(.*)$ index.php&url=$1 [L]
Понятное дело безрезультатно! Что посоветуете?

-------
http://img.userbars.pl/126/25043.png


Отправлено: 21:42, 14-07-2009 | #106


Deadooshka


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

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


Цитата BASSON_XVI:
RewriteRule ^index\.php(.*)$ index.php&url=$1 [L] »
1. параметры от файла отделяются знаком "?"
2. htaccess дб в папке корень/sse
Цитата BASSON_XVI:
Или что ещё лучше было бы сделать так что бы пути всех стилей, картинок, бакраундов и скриптов были не такие http://localhost/sse/index.php/news/...images/img.png , а такие http://localhost/sse/images/img.png. »
используйте корневые (с передним слешем) или абсолютные ссылки (с доменом или тегом base в html-коде)...
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:55, 14-07-2009 | #107


Аватара для BASSON_XVI

Пользователь


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

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


Sham,
1.Параметры отделены /
2. .htaccess лежит в корень/sse/
Цитата:
используйте корневые (с передним слешем) или абсолютные ссылки (с доменом или тегом base в html-коде)...
Спасибо пока подходит

-------
http://img.userbars.pl/126/25043.png


Отправлено: 23:10, 14-07-2009 | #108


Deadooshka


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

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


Цитата BASSON_XVI:
1.Параметры отделены / »
Код: Выделить весь код
RewriteRule ^index\.php(.*)$ index.php?url=$1 [L]
Цитата Sham:
корневые (с передним слешем) или абсолютные ссылки (с доменом или тегом base в html-коде)... »
*не ссылки а адреса в src и стилях...
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:26, 14-07-2009 | #109


Новый участник


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

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


Здравствуйте!
Возможно, эта тема уже поднималась, но бьюсь над задачей 3й день, не могу ничего найти подходящего к моему случаю.

Написал ЧПУ для сайта. Расставил на сайте ссылки вида Kategorija_1/page_1.html, в htaccess написал соот. правило

Код: Выделить весь код
RewriteRule ^Kategorija_1/page_1.html(.*)$ index.php?&pid=107983&$1 [NC]
ЧПУ работает. Но по php ссылке index.php?&pid=107983 естественно тоже переходит. Появилась задача закрыть доступ по php ссылке, умные люди подсказали - 301 редирект. Перед первым правилом пишу в htaccess еще одно:
Код: Выделить весь код
RewriteCond %{QUERY_STRING} ^(.+)pid=107983(.*)$
RewriteRule index.php http://mysite.com/Kategorija_1/page_1.html? [R=301,L]
Редирект срабатывает, но вот беда - после Rewrite сайт опять заглядывает в htaccess и отрабатывает первое правило. Затем заходит снова и отрабатывает второе. Происходит зацикливание.

Подскажите, как быть в этой ситуации? Возможно ли решение данной задачи вообще? Заранее спасибо!

Отправлено: 11:57, 24-07-2009 | #110



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




 
Переход