|
|
|
| Вот какое дело......... тут многие когда нибудь должны работать с модулем реврайт предоставленным только сервером Апачи. Так вот давай те раз и навсегда напишем несколько примеров которые на все 100% работают и будут понятны всем!!!
1. я лично сам проверил вот что
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test1.ru$ [NC]
RewriteRule ^(.*)$ http://www.test1.ru/$1 [R=301,L]
|
это означает что как бы вы не ввели test1.ru в адрессном баре реврайт превратит его в www.test1.ru
2. я сам сколько не старался так и не смог написать правильно вот такую вот штуку:
моя рабочая ссылка выглядит вот в такой схеме http://www.test1.ru/?kk&top
а для удобства и для некоторых других соображений хочеться чтоб
ссылка выглядила аккуратно и правильно а точнее вот так http://www.test1.ru/kk/top/
важно учитывать что выражения kk и top будут менятся
|
как правильно и корректно написать в реврайте чтоб все работало
важная делать этой работы в том что когда я впишу в адресный бар ссылку http://www.test1.ru/kk/top/
броузер должен сделать внутри себя реврайт и открыть страницу http://www.test1.ru/?kk&top и при этом
в адрес баре не меняется ссылка http://www.test1.ru/kk/top/
|
-------------------------------------------------------------------------------------------------------
ПУСТЬ ВСЕ ЗНАТОКИ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ И ВСЕ ТЕ КТО УЖЕ ИМЕЮТ ПРАКТИКУ В РЕВРАЙТЕ СОБРАЛИСЬ И ПОМОГЛИ НАМ ВСЕМ В ОДНОЙ ЭТОЙ ТЕМЕ!!!!
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
ЛЮДИ ВСЕ СВОИ НОВЫЕ ПРИМЕРЫ С ИНТЕРЕСНЫМИ ТОНКОСТЯМИ ПИШИТЕ ТУТ ЧТОБ ВСЕ ЗАШЕДШИЕ ВИДЕЛИ КАК ВСЕ НАДО ДЕЛАТЬ! | |
|
|
|
|
|
|
|
для: ozono
(19.12.2006 в 12:57)
| | КТО НИБУДЬ ДАЙТЕ ОТВЕТ НА МОД_РЕВРАЙТ!!!! | |
|
|
|
|
|
|
|
для: ozono
(19.12.2006 в 12:57)
| | Задача может быть решена следующим образом
RewriteEngine On
RewriteBase /
RewriteRule ([a-z]+)/([a-z]+)/ get.php?$1&$2
|
PS Множество примеров можно найти по ссылке.
PPS Для отладки часто удобно включить журналирование модуля mod_rewrite, поместив в контейнер виртуального хоста следующие директивы
RewriteLog logs/rewrite.log
RewriteLogLevel 9
|
Директива RewriteLogLevel определяет уровень подробности, чем он меньше - тем менее подробно будет вестись логгирование. | |
|
|
|
|
|
|
|
для: cheops
(21.12.2006 в 22:55)
| | спасибо за такую помошь!!!! но вот в чем дело:
тут возникают вопросы следующие
1. После того как я пишу например www.test1.ru/kk/pp ( ейтейственно он открывает внутри себя www.test1.ru/index.php?kk&pp) -- мои рисунки не показываются
у меня есть в папке images/logo.jpg но после реврайта на странице картинка иммет линк /kk/pp/images.jpg ==== а нужно чтоб он все равно открывал images/logo.jpg
2. когда я ввожу www.test1.ru/index.php?kk&pp нужно чтоб реврайт превратил его в www.test1.ru/kk/pp но при этом открывал www.test1.ru/index.php?kk&pp (т.е. в адресс баре чтоб всегда было в такой форме www.test1.ru/kk/pp) | |
|
|
|
|
|
|
|
для: ozono
(22.12.2006 в 12:57)
| | >когда я ввожу www.test1.ru/index.php?kk&pp нужно чтоб реврайт превратил его в www.test1.ru/kk/pp
Здесь не очень понятно, вбообще модуль mod_rewrite такие осуществляет лишь одно преобразование из www.test1.ru/index.php?kk&pp в www.test1.ru/kk/pp при помощи mof_rewrite преобразование осуществить не удастся. | |
|
|
|
|
|
|
|
для: cheops
(22.12.2006 в 22:51)
| | а как насчет картинеок,,,,?????
у меня при реврайте ссылки на странице к картинкам меняется!!!!!
image/logo.jpg превращается в kk/pp/image/logo.jpg как толдьког произсходит реврайт!!!!
как быть? | |
|
|
|
|
|
|
|
для: ozono
(23.12.2006 в 11:02)
| | Необходимо сделать отдельное преобразование для изображений
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
# Отдельное преобразование для картинок
RewriteRule (.*)/images/(.*) images/$2 [L]
# А здесь для всего остального (если в имени файла нет подстроки images...)
RewriteCond %{REQUEST_URI} !.*images.*
# то преобразуем имя файла в
RewriteRule ([a-z]+)/([a-z]+)/? index.php?$1&$2
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.12.2006 в 11:27)
| | эту систему я понял большое спасибо
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
# Отдельное преобразование для картинок
RewriteRule (.*)/images/(.*) images/$2 [L]
# А здесь для всего остального (если в имени файла нет подстроки images...)
RewriteCond %{REQUEST_URI} !.*images.*
# то преобразуем имя файла в
RewriteRule ([a-z]+)/([a-z]+)/? index.php?$1&$2
|
все что надо я сделал но есть еше одно НО))))
когда я ввожу test1.ru/kk/pp2 он все равно открывает test1.ru/kk/pp
я понимаю что все это из-за этой строки
RewriteRule ([a-z]+)/([a-z]+)/? index.php?$1&$2
|
но вот куда именно впихнуть встроку [0-9] я не знаю!!!!!!
я пробывал так но не получилось
RewriteRule ([a-z]+)/([a-z][0-9]+)/? index.php?$1&$2
|
| |
|
|
|
|
|
|
|
для: ozono
(25.12.2006 в 14:12)
| | я нашел -------------
RewriteRule ([a-z]+)/([a-z0-9]+)/? index.php?$1&$2
|
так правильно???
у меня работает так | |
|
|
|
|
|
|
|
для: ozono
(25.12.2006 в 14:12)
| | glsv за все еше раз пишу спасибо!!!!!
тут одна деталь которую я забыл тебе сказать
у меня ссылка также может быть в форме test1.ru/kk/ в этом случае реврайт не работает!!!
можно ли сделать так чтоб все что ты написал осталось и + еше одно условие на то что если будет test1.ru/kk/ то перевести в test1.ru/index.php?kk
так возможно???? приплюсовать еше одно условие для кк??? | |
|
|
|
|
|
|
|
для: ozono
(25.12.2006 в 14:23)
| | Нужно добавить еще одно правило RewriteRule. Вот так.
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
# Отдельное преобразование для картинок
RewriteRule (.*)/images/(.*) images/$2 [L]
# А здесь для всего остального (если в имени файла нет подстроки images...)
RewriteCond %{REQUEST_URI} !.*images.*
RewriteRule ^([a-z0-9]+)/?$ index.php?$1 [L]
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/?$ index.php?$1&$2 [L]
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(26.12.2006 в 05:40)
| | последний этап==========
вод какой конечный вопрос возникает еще:
надо чтоб та ссылка которая не существует открывала страничку test1.ru/error.php (это можно сделать и на пхп но что насчет хтаксес?)
например :
ссылки test1.ru/kk/pp5 не существует и тогда сайт пусть сразу сделает редирект или что-нибудь еше чтоб окрылся сайт test1.ru/error.php | |
|
|
|
|
|
|
|
для: ozono
(27.12.2006 в 13:04)
| | А вот здесь неразрешимая неоднозначность. В предыдущих постах решалась задача перебрасывать все URL вида test1.ru/kk/pp5 на index.php.
А сейчас Вы говорите, что часть нужно, а часть не нужно перебрасывать. Apache не может так сделать, потому нет условия, согласно которому он сможет принять решение: перебрасывать или нет. Вам нужно либо делать это через PHP, либо вводить в URL дополнительный параметр. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(28.12.2006 в 05:44)
| | ок!!! я понял ....... БОЛЬШОЕ ВАМ СПАСИБО!!!!!!!!!!
С НАСТУПАЮЩИМ ВАС ПРАЗДНИКОМ!!!!!!!! желаю чтоб ваш комп не зависал, чтоб мышка не глючила и чтоб ваша муза творчества вас не покидала!!!!)))
Удачи!!!!!!
вопросы будут сразу же напишу Вам))))) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(24.12.2006 в 11:27)
| | HELP!
Та же проблема с изменениями путей к картинкам и стилям!
У меня ничего не получается. Испробовал и этот метод, и другие пробовал. Весь форум перелопатил, и ничего работающего, кроме Base в тэг Head не нашел!
Нужно решить задачу именно реврайтом.
Помогите пожалуйста. | |
|
|
|
|
|
|
|
для: iambanderas
(11.07.2007 в 04:33)
| | я то же за что что-бы все у кого работают правила мод реврайта выложили свои примеры в этой теме. Ибо куча тем существует, мало кто может помочь, помогите тогда своими правилами хотя-бы, что-бы люди могли сами разобраться что - почем.
У меня то-же ничего не получается. | |
|
|
|