Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ЧПУ для сайта 
:(
    Опции темы
fics
Дата 23.10.2013, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Здравствуйте. Еще никогда не приходилось работать с чпу. И поэтому возник вопрос - возможно ли url вида
Код

http://myshop.ru/?page=product&prodid=549


превратить в 
Код

http://myshop.ru/product/назнвание продукта по id


то есть не так
Код

http://myshop.ru/product/549

а вместь id = 549 поставить конкретное название продукта подставить из БД

Это сообщение отредактировал(а) fics - 23.10.2013, 10:09
--------------------
Ушел на пары
PM MAIL   Вверх
baldina
Дата 23.10.2013, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



на уровне mod_rewrite сложно:
1. надо загнать все названия из БД в регулярное выражение
2. названия, возможно, не уникальны

если же названия уникальны (являются естественным ключом в таблице), просто используйте их вместо id

PM MAIL   Вверх
fics
Дата 23.10.2013, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 21.2.2008
Где: Луганск

Репутация: нет
Всего: нет



Цитата(baldina @  23.10.2013,  10:40 Найти цитируемый пост)
просто используйте их вместо id


Ну так это прийдется еще в самих исходинках php менять запросы не по ID а по названию, но этого не хотелось бы делать 
--------------------
Ушел на пары
PM MAIL   Вверх
baldina
Дата 23.10.2013, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



он хотел назвать её Глафирой, но что бы откликалась на Викторию

Добавлено через 2 минуты и 50 секунд
можно в маршрутизаторе подменять name на id

PM MAIL   Вверх
ksnk
Дата 23.10.2013, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(fics @  23.10.2013,  10:08 Найти цитируемый пост)
а вместь id = 549 поставить конкретное название продукта подставить из БД

Нужно формировать ссылки на странице уже с именем продукта. А чтобы не возится с расшифровкой прилетевшего адреса - добавлять к адресу ID товара. Как пример - адресация топиков форума на phpclub.

Имя получится 
http://mysite.ru/Ёжик_резиновый.i345
Характерная часть адреса - финальная конструкция i\d+$

При этом, если внезапно товар переименуется, старые ссылки не сгниют.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
s1lver
Дата 24.10.2013, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



Цитата(fics @ 23.10.2013,  10:08)
Здравствуйте. Еще никогда не приходилось работать с чпу. И поэтому возник вопрос - возможно ли url вида
Код

http://myshop.ru/?page=product&prodid=549


превратить в 
Код

http://myshop.ru/product/назнвание продукта по id


то есть не так
Код

http://myshop.ru/product/549

а вместь id = 549 поставить конкретное название продукта подставить из БД



Так если Вам необходимо просто выводить не псевдонимы а подставлять ID продукта, то впринципе ничего в БД добавлять и не нужно.

Перенаправляте все запросы в скрипт обрабатывающий URI и разбираете полученное значение. Числа и будут являть вашими идентификаторами, которые можно сопоставить с имеющимися уже в БД.  smile 

Это сообщение отредактировал(а) s1lver - 24.10.2013, 06:44


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
s1lver
Дата 28.10.2013, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



Вот, кстати, а если включен mod_rewrite и все события передаются в скрипт. Зависит ли от этого работа редиректов?

К примему 

Код

RewriteRule .* index.php [L]

Redirect 301 /index.html http://example.com/index


Почему может не происходить перенаправление? Дело в неправильной обработке в скрипте php или возможны проблемы с сервером?


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1277 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.