Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 13:57   #1
AliveIT
Новичок
Джуниор
 
Регистрация: 21.04.2010
Сообщений: 1
По умолчанию Преобразование URL на нужный

Всем привет
Заказчик поставил задачу, по преобразованию адресной строки на сайте, на данный момент есть строка типа www.сайт.ru/list.php?rid=1&prid=3, в базе данных хранятся текстовые значения для каждого rid и prid которые нужно вывести в адресной строке, требуется извлечь их из БД и преобразовать данную строчку в вид - www.сайт.ru/graficheskiy_design/bukleti/
Впервые с этим столкнулся, это вообще реально? ) Если кто делал подобное, подскажите решение плиз
AliveIT вне форума Ответить с цитированием
Старый 28.04.2010, 01:18   #2
dekameron
Форумчанин
 
Аватар для dekameron
 
Регистрация: 27.04.2010
Сообщений: 185
По умолчанию

Реально с помощью ModRewrite, но есть пара ньюансов.
Если создаются-удаляются разделы и подразделы, то при каждом создании (под)раздела придется править .htaccess.

След. код надо прописывать в файле .htaccess, который находится в корневой директории вашего хоста

Код:
RewriteEngine On 
Options +FollowSymlinks 
RewriteBase /

Варианты:
1. Из www.сайт.ru/list.php?rid=1&prid=3 делаем www.сайт.ru/1/3
Код:
RewriteRule ^([0-9]+)/([0-9]+)/ list.php?rid=$1&prid=$2 [L,QSA]
2. Из www.сайт.ru/list.php?rid=graficheskiy_design&pr id=bukleti делаем www.сайт.ru/graficheskiy_design/bukleti/
Код:
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/ list.php?rid=$1&prid=$2 [L,QSA]
3.(Самый неудобный из-за переменчивости, но подходящий вам)
Из www.сайт.ru/list.php?rid=1&prid=3 делаем www.сайт.ru/graficheskiy_design/bukleti/
Код:
RewriteRule ^graficheskiy_design/bukleti/  list.php?rid=1&prid=3
И такие строчки надо будет прописать для каждого раздела/подраздела

Я бы предложил использовать 2й вариант, а для поиска нужной категории в бд создать в таблице разделов/подразделов допольнительное поле типа
eng_name которое какраз и передавать GET-ом
Помог - тырк на весы
dekameron вне форума Ответить с цитированием
Старый 30.04.2010, 14:42   #3
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

В .htaccess достаточно прописать одно правило и несколько исключений. Правилом отправлять все запросы на корневой index, а в исключениях прописать статику.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужный компонент V@mpir Помощь студентам 3 07.11.2009 22:55
Поворот tPNGImage на нужный угол Altera Общие вопросы Delphi 3 08.09.2009 14:25
Краткий список в нужный диапазон Иванов_ДМ Microsoft Office Excel 10 28.07.2009 22:05
Не открывается нужный файл Ruska882009 Операционные системы общие вопросы 4 24.05.2009 21:30
Указать нужный тип переменной KiDoki Общие вопросы Delphi 3 06.10.2008 17:11