ЧПУ

Разработка своих веб-приложений и страничек

Re: ЧПУ

Сообщение _main_ » 10 май 2010, 16:50

хочу сделать чпу, как мне генерить вместо ссылок вида ЗНАНИЕ ПРИНОСИТ СТРАХ, ссылки вида ЗНАНИЕ ПРИНОСИТ СТРАХ?

Ключевой момен здесь как генерить автоматически уникальное значение show = znanie_prinosit_strah
[url=homor.ru]Демотиваторы[/url]
_main_
Начинающий участник
 
Сообщения: 12
Зарегистрирован: 21 июл 2009, 16:25

Re: ЧПУ

Сообщение Zver » 10 май 2010, 18:00

Тут уже дело за PHP, в ЧПУ делаем такс:

Код: Выделить всёРазвернуть
RewriteEngine On
RewriteBase /
RewriteRule ^show/(.+) show.php?name=1$


А php обрабатываем такс:
Код: Выделить всёРазвернуть

$url 
= $_GET['name'];
function urlDecode($url)
{
  // тут мы конвектируем урл в транслит, думую как не стоит объяснять
  $url = str_replace(' ', '_', $url); // убираем пробелы
  if(preg_match('/[^0-9a-zA-Z\.\_\-\ ]/i', $url)) // разрешены цифры, нижний пробел, точка, тире
  {
   return $url// выводим нужную запись из бд по титлу, тут уже придётся создавать дополнительное поле, или опять конвектировать в рус.
  }
  else
  
{
    return false// ну а тут ругаемся, если нас не устраивает урл
  }
}
echo 
urlDecode($url);
 
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: ЧПУ

Сообщение _main_ » 10 май 2010, 21:10

Zver писал(а):Тут уже дело за PHP, в ЧПУ делаем такс:

Код: Выделить всёРазвернуть
RewriteEngine On
RewriteBase /
RewriteRule ^show/(.+) show.php?name=1$


А php обрабатываем такс:
Код: Выделить всёРазвернуть

$url 
= $_GET['name'];
function urlDecode($url)
{
  // тут мы конвектируем урл в транслит, думую как не стоит объяснять
  $url = str_replace(' ', '_', $url); // убираем пробелы
  if(preg_match('/[^0-9a-zA-Z\.\_\-\ ]/i', $url)) // разрешены цифры, нижний пробел, точка, тире
  {
   return $url; // выводим нужную запись из бд по титлу, тут уже придётся создавать дополнительное поле, или опять конвектировать в рус.
  }
  else
  
{
    return false; // ну а тут ругаемся, если нас не устраивает урл
  }
}
echo urlDecode($url);
 


очевидно что если у меня есть пути вида http://homor.ru/show/1/ )) то у меня есть реврайтинг)) проблема в том есть ли какие то готовые либы по генерации чпу из заголовков я про соответсвие русских и латинских букв))
[url=homor.ru]Демотиваторы[/url]
_main_
Начинающий участник
 
Сообщения: 12
Зарегистрирован: 21 июл 2009, 16:25

Пред.

Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1