[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SEF
ilystone
Всем привет.

Нужно привести все УРЛ, ведущие на статьи к такому виду:

сайт.ру/дд/мм/ггг/заголовок статьи латинскими буквами

Вобщем-то я имею представление о том, как это сделать, но прежде я и пишу сюда, чтобы избежать банальных ошибок.

1) Первая трудность, которая возникла:

УРЛ на статью передает ее id, а мне не нужно, чтобы id не было в УРЛ

2) Заголовки статей частично на русском, как лучше переводить их на латынские буквы? Я планировал забабахать большой switch с кесом на каждую русскую букву.

3) Не могу понять в чем проблема:

УРЛ имеет вид сайт.ру/гггг/мм/дд/id_номер статьи

В мод реврайт:

RewriteRule ^(.*?)/(.*?)/(.*?)/([0-9]+)$  article.php?id=$4 [L]


В результате когда перехожу по ссылке на полную статью - весь ее контент выводится, но ни шаблона, ни верстки - ничго нет. Картинка кстати тоже не показывается









Спустя 20 часов, 29 минут, 2 секунды (10.08.2010 - 11:15) Nord написал(а):
Ответ на второй вопрос:

Можно кейсами, можно воспользоваться str_replace:

$rus = array('а', 'б' ... 'я' );
$en = array('a', 'b' ... 'ya');
$res = str_replace($rus, $en, $string);


Остальные вопросы я не совсем понял

Цитата
1) Первая трудность, которая возникла:
УРЛ на статью передает ее id, а мне не нужно, чтобы id не было в УРЛ

Что вас ограничивает?

Цитата
3) Не могу понять в чем проблема:

Как выглядит конечная ссылка, которая выводит содержимое правильно?

Спустя 5 часов, 25 минут, 1 секунда (10.08.2010 - 16:40) ilystone написал(а):
Nord
Спасибо за пункт 2.

По поводу пункта 1 и 3:

Вот оригинальная конечная ссылка на статью:
http://gatl.ru/article.php?id=1464

Я хочу, чтобы ссылка была такого вида:

http://gatl.ru/дд/мм/ггг/заголовок статьи латинскими буквами

Дак вот, все параметры можно без проблем извлекать из базы и ими монипулировать в урл, но ведь обработчик article.php получает id статьи, а его в http://gatl.ru/дд/мм/ггг/заголовок статьи латинскими буквами нет..

Конечно, можно передовать вместо id и заголовок, тогда проблема исчерпана. Но надежно ли это?

Спустя 5 часов, 6 минут, 56 секунд (10.08.2010 - 21:47) Nord написал(а):
Цитата
Конечно, можно передовать вместо id и заголовок, тогда проблема исчерпана. Но надежно ли это?

Вполне надежно

Но можно, конечно, передавать заголовок и искать статью в базе по заголовку, как на википедии. В чем трудность переписать article.php, чтобы он принмал ссылки вида http://gatl.ru/article.php?title=заголовок...инскими_буквами?

Спустя 11 часов, 40 минут, 23 секунды (11.08.2010 - 09:28) ilystone написал(а):
Nord
Трудности такой нет, но ведь заголовок русскими буквами, значит и в ссылке вида http://gatl.ru/дд/мм/ггг/заголовок, заголовок придется передоваться русскими буквами, а это неприемлимо..

Спустя 2 часа, 21 минута, 29 секунд (11.08.2010 - 11:49) Nord написал(а):
Ну, воможно я и не прав, но я бы в базе дополнительно хранил еще и заголовок транслитом

А ссылки вида: http://gatl.ru/дд/мм/ггг/id_статьи/заголовок статьи латинскими буквами то же не устраивают?

Спустя 19 минут, 28 секунд (11.08.2010 - 12:09) ilystone написал(а):
Nord

Да, оба варианта уместны, но я пожалуй выберу 1й, он мне больше подходит. У меня раньше джумла была дак там стоял компонент генерации sef ссылок, дак под него отдельная база была..

Спустя 9 часов, 32 минуты, 19 секунд (11.08.2010 - 21:41) ilystone написал(а):
Во всем разобрался кроме пункта 3:

Вот ссылка:

http://gatl.ru/2010/07/21/panasonic-lumix-...paktnom-korpuse

В БД она храниться в точно такомже виде

Вот RewriteRule:

RewriteRule ^(.*)$ article.php?link=$1 [L]

Выдает полную статью, но без верстки и изображений (последние теоритически есть, но ломаные).

Взглянул на url картинки в статье: http://gatl.ru/2010/07/21/images/stories/LUMIX-TS10.jpg

Получается, что работать он пытается не из корневого каталога, а из http://gatl.ru/2010/07/21/, т.е. из текущего..

Есть ли возможность заставить его работать из корневой директории?

Спустя 10 часов, 19 минут, 8 секунд (12.08.2010 - 08:00) Nord написал(а):
Добавь в <head>:

<base href="http://gatl.ru/">

Спустя 1 час, 11 минут, 49 секунд (12.08.2010 - 09:12) ilystone написал(а):
Nord

Спасибо большое, благодаря тебе во всем наконец разобрался smile.gif

+ репу)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.