За последние 24 часа нас посетили 25945 программистов и 1726 роботов. Сейчас ищет 891 программист ...

ЧПУ для сайта, выборка

Тема в разделе "PHP и базы данных", создана пользователем viphost, 15 сен 2011.

  1. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Подскажите как сделать ЧПУ
    имеются скажем урлы вида
    /category.php?category=$1&p=$2
    где category=$1 - айди категории
    а p=$2 - страница (навигация)

    В базе данных есть поле url в которое прописывается url категории к примеру history

    Как я понимаю, нужно сделать сравнение т.е. если переходим по адресу /category/history/
    то нужно history искать в поле url, а затем выдавать айди категории, правильно?
    И как это можно сделать?
    К примеру гетом дергаем $url = $_GET['category'];
    $url = history

    Дальше нужно запрос писать? И уже id дергать? Или как то можно проще сделать?
    За любой совет буду благодарен. уже запутался просто =)
     
  2. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    Для создания ЧПУ используется модуль Apache - "mod_rewrite". Он позволяет незаметно для пользователя переадресовывать с одного URL на другой.
    Mod_rewrite по умолчанию идет в комплекте с сервером Apache, поэтому устанавливать его нет необходимости. Но он почти всегда выключен, поэтому его надо включить с помощью файла ".htaccess":
    RewriteEngine on
     
  3. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    да это то я знаю, с настройкой .htaccess проблем нет.
    Вобще сделал ЧПУ, но вот не знаю правильно, вроде все работает, но как то хотелось по проще
    Собственно сделал что то вроде, ищу history по полю url, затем вывожу его айди и уже вставляю в запрос для выборки новостей, думал просто может по проще что можно сделать, с минимум кода.
     
  4. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    ты наверное имеешь в виду сделать 1 запрос вместо двух? Тогда тебе нужен JOIN
     
  5. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    На самом деле ЧПУ такое УГ, сейчас просто проект один с ДЛЕ переношу на самопис, уже подготовил почву, осталось с базой данных разобраться.
    Далее это ЧПУ юзать не буду, дублей можно наплодить сколько душе угодно.
    Лучше пусть ссылки будут что то вроде
    /post/10.html
    Чем /10-title-post.html

    так как
    /10-title2-post.html
    /10-title-dvfydgpost.html

    это все одни и те же новости. А делать еще какие то проверки, нет желания, лишние траты ресурсов сервера.
     
  6. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    viphost
    вы уже два поста оставили, а все равно не понятно, о чем идет речь.
    ЧПУ не УГ, это его реализация в разных случачх бывает УГ + зависит от вкусов тех, кто его пишет, этот ЧПУ.