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

Тема в разделе "Shop-script", создана пользователем nondescript, 3 апр 2010.

Статус темы:
Закрыта.
  1. nondescript

    nondescript Создатель

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

    Итак вопрос следующий: возможно ли организовать какой либо системой ЧПУ который будет брать из БД строчку для замены.
    Например: есть url: www.mysite.com/index.php?productID=2747
    должно преобразовать в www.mysite.com/супер_пупер_товар
    Естественно для каждого товара я отдельно укажу на какое слово менять.

    Возможно ли такое? Если да, то хоть каком образом?
     
  2. porsche2

    porsche2

    Регистр.:
    18 ноя 2007
    Сообщения:
    667
    Симпатии:
    210
    Все возможно, а подобное реализованно в cms vivvo (см. сам :)) и еще много где, в cms в описание которых пишут заточка под seo, или seo url
     
  3. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    а хоть какими методами? я штурмовал через mod_rewrite (.htaccess) но через него по моему нельзя
     
  4. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    В друпале сделано так:
    Линк без ЧПУ - сайт.зона/?q=твой-путь
    Линк с ЧПУ - сайт.зона/твой-путь
    т.е. мод_реврайтом тупо параметр q срезается и профит
     
  5. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    to RxB:
    Я такой системой и представлял, но возникает вопрос!? Если у меня в базе 5.000 товаров, на них всех нужно писать отдельное правило в .htaccess?
    Т.е. как мне сделать запрос к базе в определенное поле из .htaccess?
    система должна быть такой
    линк без ЧПУ - сайт.зона/.....?productID=2747
    правило: если в БД для этого ID есть значение - выводим его, нет - оставляем всё на месте
    результат с ЧПУ - сайт.зона/МОЙ_ТОВАР
     
  6. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Зачем?
    Я ж тебе сказал, срезаешь q и профит, в движок он тебе уходит, посмотри .htaccess Drupal, там комментариев достаточно
     
  7. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    Извиняюсь конечно, я в этих фишках не спец, но в упор не увидел :(
    Если я правильно понимаю, нужен только кусок который отвечает за мод_реврайт, вот он:
    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=$[L,QSA# подозреваю что именно в этой строке вся соль
    </IfModule
    ткни меня носом, но я в упор немогу понять как таким образом обратиться к полю в БД :(
     

    Вложения:

  8. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Каким каким.
    Ты вообще программировал на пхп?
    Берёшь $_GET['q'] и обращаешься куда тебе надо там
     
  9. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    епрст)))) !!! Так всё оказалось намного проще чем я думал ))) я просто с .htaccess первый раз работаю ...
    если всё получится - выложу сюда, мож кому-то и пригодится

    З.Ы. Еще вопросик созрел, а с кодировкой проблем не будет? если я хочу выводить кириллицу?
     
  10. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Юзай UTF-8 во всех местах и будет тебе счастье
     
Статус темы:
Закрыта.