Помощь ЧПУ который берет данные из БД, возможно ли такое?

Статус
В этой теме нельзя размещать новые ответы.

nondescript

Создатель
Регистрация
17 Окт 2009
Сообщения
31
Реакции
4
Доброго времени суток ув. Профессионалы!

Итак вопрос следующий: возможно ли организовать какой либо системой ЧПУ который будет брать из БД строчку для замены.
Например: есть url: Для просмотра ссылки Войди или Зарегистрируйся
должно преобразовать в Для просмотра ссылки Войди или Зарегистрируйся
Естественно для каждого товара я отдельно укажу на какое слово менять.

Возможно ли такое? Если да, то хоть каком образом?
 
Все возможно, а подобное реализованно в cms vivvo (см. сам :)) и еще много где, в cms в описание которых пишут заточка под seo, или seo url
 
а хоть какими методами? я штурмовал через mod_rewrite (.htaccess) но через него по моему нельзя
 
  • Заблокирован
  • #4
В друпале сделано так:
Линк без ЧПУ - сайт.зона/?q=твой-путь
Линк с ЧПУ - сайт.зона/твой-путь
т.е. мод_реврайтом тупо параметр q срезается и профит
 
to RxB:
Я такой системой и представлял, но возникает вопрос!? Если у меня в базе 5.000 товаров, на них всех нужно писать отдельное правило в .htaccess?
Т.е. как мне сделать запрос к базе в определенное поле из .htaccess?
система должна быть такой
линк без ЧПУ - сайт.зона/.....?productID=2747
правило: если в БД для этого ID есть значение - выводим его, нет - оставляем всё на месте
результат с ЧПУ - сайт.зона/МОЙ_ТОВАР
 
  • Заблокирован
  • #6
Зачем?
Я ж тебе сказал, срезаешь q и профит, в движок он тебе уходит, посмотри .htaccess Drupal, там комментариев достаточно
 
Извиняюсь конечно, я в этих фишках не спец, но в упор не увидел :(
Если я правильно понимаю, нужен только кусок который отвечает за мод_реврайт, вот он:
PHP:
<IfModule mod_rewrite.c>
  RewriteEngine on
  # Приблизительно переведу:
  # Если вы хотите, что бы ваш сайт был доступен, как с префиксом "www" и без него, 
  # разкомментируйте одно и 2-х нижних правил (С или БЕЗ)
  # первое правило
  # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  #
  # второе правило
  # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
  # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
  # дальше правило которое отвечает в какой папке находится сам Друпал.
  # это правило нам тоже не нужно
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
  # итак как я понял добрались до самого интересного!
  # Перезаписать URLs от вида 'x' к виду 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] # подозреваю что именно в этой строке вся соль
</IfModule>
ткни меня носом, но я в упор немогу понять как таким образом обратиться к полю в БД :(
 

Вложения

  • htaccess_from_DRUPAL.zip
    1,6 KB · Просмотры: 2
  • Заблокирован
  • #8
Каким каким.
Ты вообще программировал на пхп?
Берёшь $_GET['q'] и обращаешься куда тебе надо там
 
епрст)))) !!! Так всё оказалось намного проще чем я думал ))) я просто с .htaccess первый раз работаю ...
если всё получится - выложу сюда, мож кому-то и пригодится

З.Ы. Еще вопросик созрел, а с кодировкой проблем не будет? если я хочу выводить кириллицу?
 
  • Заблокирован
  • #10
Юзай UTF-8 во всех местах и будет тебе счастье
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху