Поиск:

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


Опытный
**


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

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



Не нашел ответа в уже существующих темах.

Вопрос такой: 

как из ссылки вида http://site.ru/index.php?_pageid=3&articleid=2 
сделать сылку http://site.ru/article/bla-bla-bla-2.html

где bla-bla-bla - латинские буквы и цифры?

Получилось сделать http://site.ru/article/2.html

RewriteRule ^article/(.*)\.html$ /index.php?_pageid=3&articleid=$1
RewriteRule ^article /index.php?_pageid=5


Это сообщение отредактировал(а) EDuard - 16.3.2007, 03:07


--------------------

PM MAIL WWW ICQ   Вверх
Vaulter
Дата 16.3.2007, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Rewrite => php (title -> id) => article_id


--------------------
PM MAIL WWW ICQ   Вверх
EDuard
Дата 16.3.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Vaulter, по подробней можно?


--------------------

PM MAIL WWW ICQ   Вверх
mishaSL
Дата 16.3.2007, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(EDuard @  16.3.2007,  03:06 Найти цитируемый пост)
как из ссылки вида http://site.ru/index.php?_pageid=3&articleid=2 
сделать сылку http://site.ru/article/bla-bla-bla-2.html


Что значит bla-bla-bla. Скажи точнее структуру. Зачем там символы и куда оди должны передаваться?

Я бы сделал так:
Код

RewriteRule ^article/([0-9]{1,10})/([0-9]{1,10})\.html$ index.php?_pageid=$1&articleid=$2 [NC,L]


Добавлено @ 14:07 
Соответственно, ссылки будут такого вида:
 http://site.ru/article/3/2.html



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
$tatic
Дата 16.3.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 smile Интересно, какой умник придумал термин ЧПУ для ссылок. Лично меня это коробит, поскольку я ассоциирую эту аббревиатуру с другой, более старой и более логичной, тем более что она еще используется.
PM MAIL   Вверх
EDuard
Дата 17.3.2007, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



mishaSL, bla-bla-bla - латинские буквы и цифры

т.е. есть линка http://site.ru/index.php?_pageid=3&articleid=2
нужно из нее сделать http://site.ru/http://site.ru/article/about-2.html где about - кодовое имя статьи (не уникально)


а например из ссылки http://site.ru/index.php?_pageid=3&articleid=3
сслыку http://site.ru/http://site.ru/article/cars-3.html 

пример сайта с такими ссылками.


--------------------

PM MAIL WWW ICQ   Вверх
mishaSL
Дата 17.3.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(EDuard @  17.3.2007,  02:10 Найти цитируемый пост)
а например из ссылки http://site.ru/index.php?_pageid=3&articleid=3
сслыку http://site.ru/http://site.ru/article/cars-3.html 


если переменная _pageid - всегда будет равна 3 и "кодовое имя статьи" будет передаваться в codeName (куда нужно точнее сам уже решишь), то так:
Код

RewriteRule ^article/([_a-z0-9]{1,20})-([0-9]{1,10})\.html$ index.php?_pageid=3&articleid=$2&codeName=$1 [NC,L]



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Vaulter
Дата 17.3.2007, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



подробнее :
в .htaccess
RewriteRule ^article/(.*)\.html$ /index.php?articleid=$1

в index.php
Код

if(is_string($articleid))
{
//lookup in DB for these article_id
$realid = $db->selectCell("SELECT item_id FROM `%s` WHERE url_title='%s'", $this->tables['items'], $articleid);
if($realid>0)
{//выводим эту статью
 $page = new page(......

}
}





--------------------
PM MAIL WWW ICQ   Вверх
EDuard
Дата 18.3.2007, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



mishaSL, Спасибо, то что нужно.
Тема закыта


--------------------

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




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


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

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