Открыть Ответить

Свой URL в ЧПУ

19.02.2010 21:20:45

Здравствуйте!
Был у меня скрипт один (каталог сайтов вроде, или чего то там), так вот, там при добавлении страницы, помимо прочего было поле чтото типа "Отображаемый URL", так вот, я вводил в это поле произвольную фразу, и адрес страницы был такой:

site.ru/to_chto_ya_vvel.html

Возможно ли такое реализовать на слаед? Мне нужно для конкретного модуля..

SLAED CMS 2.6 Lite
PHP 4
Сервер в интернете
Группа
Посетители
Пункты
729
Регистрация
07.10.2006
Пол
Мужчина
Из
Россия/Москва
Предупреждения
Нет
Goshan
Goshan
3.92

3.92

Руками точно можно, в .htaccess. Есть конечно подобное и в самой системе, config/config_rewrite если не ошибаюсь называется но лично я предпочитаю первое, писать правила руками в .htaccess.

Группа
Клиент
Пункты
18
Регистрация
25.06.2008
Пол
Мужчина
Предупреждения
  1. 1
name
name
3.95

3.95

19.02.2010 23:07:23 19.02.2010 23:09:38

я говорю не о том, как правила дописывать руками, а о том, как заставить скрипт прописать нужное правило куда нужно..
и вопрос: а не будет ли проблем доступа при редактировании файла .htaccess скриптом?

да не, это не вариант, надо через БД как то, сервер же упадет, когда появится 1000+ правил, для каждой странице отдельное..

Группа
Посетители
Пункты
729
Регистрация
07.10.2006
Пол
Мужчина
Из
Россия/Москва
Предупреждения
Нет
Goshan
Goshan
3.92

3.92

Написать регулярку, она и будет автоматически преобразовывать...

Группа
Клиент
Пункты
18
Регистрация
25.06.2008
Пол
Мужчина
Предупреждения
  1. 1
name
name
3.95

3.95

20.02.2010 16:03:03 20.02.2010 16:09:50

Написать регулярку, она и будет автоматически преобразовывать...


Например?..
___



Вот допустим у меня интернет-магазин сотовых телефонов. Я добавляю товар, например Nokia N97.
Я указываю:
Заголовок: Nokia N97
Описание: Nokia N97 - новый флагман, бла бла бла....
Цена: 25000
Отображаемый URL: nokia_n97_prodazha.html


И когда я нажму кнопку ОК, то нокиа н97 будет по адресу www.site.ru/nokia_n97_prodazha.html.
Надеюсь объяснил)))
Вот такое я хочу реализовать... Я думаю надо использовать базу данных, где помимо заголовков и цен будет еще и отображаемый URL, и надо как то заставить htaccess и config_rewrite обращать внимание на этот параметр в базе данных.... вот так вот.


name, что то мне подсказывает, что вы невнимательно прочли мои сообщения..((

Группа
Посетители
Пункты
729
Регистрация
07.10.2006
Пол
Мужчина
Из
Россия/Москва
Предупреждения
Нет
Goshan
Goshan
3.92

3.92

20.02.2010 20:01:19 20.02.2010 20:02:10

index.php?name=$1&op=clients_info [NC]
RewriteRule ^([a-zA-Z0-9_]+)-partners.html$							index.php?name=$1&op=partners_info [NC]
RewriteRule ^([a-zA-Z0-9_]+)-edithome.html$							index.php?name=$1&op=edithome [NC]
RewriteRule ^([a-zA-Z0-9_]+)-logout.html$							index.php?name=$1&op=logout [NC]
RewriteRule ^([a-zA-Z0-9_]+)-newuser.html$							index.php?name=$1&op=newuser [NC]
RewriteRule ^([a-zA-Z0-9_]+)-passlost.html$							index.php?name=$1&op=passlost [NC]
RewriteRule ^([a-zA-Z0-9_]+)-info-(.*).html$							index.php?name=$1&op=info&uname=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-rech-([0-9]*).html$						index.php?name=$1&op=clients_rech&client_id=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-avatar-(.*)-(.*).html$					index.php?name=$1&op=saveavatar&category=$2&avatar=$3 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-print-([0-9]*).html$					index.php?name=$1&op=printe&id=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-view-([0-9]*)-([0-9]*)-([0-9]*).html$	index.php?name=$1&op=view&id=$2&pag=$3&num=$4 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-view-([0-9]*)-([0-9]*).html$			index.php?name=$1&op=view&id=$2&num=$3 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-view-([0-9]*)-word-(.*).html$			index.php?name=$1&op=view&id=$2&word=$3 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-view-([0-9]*)-last.html$					index.php?name=$1&op=view&id=$2&last [NC]
RewriteRule ^([a-zA-Z0-9_]+)-view-([0-9]*).html$					index.php?name=$1&op=view&id=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-broken-([0-9]*).html$					index.php?name=$1&op=broken&id=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-let-(.*)-([0-9]*).html$					index.php?name=$1&op=liste&let=$2&num=$3 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-let-(.*).html$							index.php?name=$1&op=liste&let=$2 [NC]
RewriteRule ^([a-zA-Z0-9_]+)-list-([0-9]*).html$


в стандартном .htaccess есть примеры этого можете посмотреть как система делает преобразования... соственно выше я думаю понятно, нужно только подредактировать под то как у вас модуль выдает страницу и указать что на что заменять.

Группа
Клиент
Пункты
18
Регистрация
25.06.2008
Пол
Мужчина
Предупреждения
  1. 1
name
name
3.95

3.95

Регулярные выражения .htaccess тут не помогут. Речь идёт не о преобразовании ссылок конкретного модуля, а о преобразовании ссылки отдельно взятой страницы, как, например, реализовано в Wordpress. Без изменений модуля, одним .htaccess, это не возможно, имхо.

SLAED CMS 2.6 Lite
PHP 5
Регистрация
09.04.2008
Пол
Мужчина
Предупреждения
Нет
septron
septron
3.69

3.69

Изменения модуля не проблема, просто не знаю, что там менять надо...

Группа
Посетители
Пункты
729
Регистрация
07.10.2006
Пол
Мужчина
Из
Россия/Москва
Предупреждения
Нет
Goshan
Goshan
3.92

3.92

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь