[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Хелп с ЧПУ URL
smoln
Вечер добрый, а точнее ночь пытаюсь сделать ЧПУ на сайте, что то получилось,а что то пока не получается, есть ссылки вида
имя сайта/index.php?$pid=значение
его нужно переделать имя сайта/section/значение/ я пока допер только до имя сайта/значение
ссылку имя сайта/index.php?action=category&category_id=значение
переделать в имя сайта/catalog/значение/
код в .htaccess такой

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]



в index.php
обрабатывается вот так


$result = $_SERVER['REQUEST_URI'];

if (preg_match ("/([^a-zA-Z0-9\.\/\-\_\#])/", $result)) {
header("HTTP/1.0 404 Not Found");
print "Недопустимые символы в URL";
exit;
}

$array_url = explode ("/",$result); //("/(\/$)/", $result,1, PREG_SPLIT_NO_EMPTY);
print_r($array_url);

if (!$array_url) {
$pid = 1;
}else{
$rubr_url = $array_url[2];
$pid=getpidbyurl($rubr_url);
}

я думаю что нужно копать в explode, но не пойму как
буду благодарен если покажете пример.



Спустя 20 часов, 5 минут, 52 секунды (29.02.2012 - 20:55) Guest написал(а):
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


вот отсюда надо копать :) а там просто берем $_GET['q'] и раскладываем как угодно

Спустя 2 минуты, 20 секунд (29.02.2012 - 20:57) gaserge написал(а):
если файлы подгружаем то типа того:
	if ( file_exists( ADMIN_DIR . '/mods/' . $unit . '.php' ) ) {
include ( ADMIN_DIR . '/mods/'. $unit . '.php' );
}

где $unit наш добродетель $_GET['q'], а в этом файле можно остальное разгребать
как угодно вобщем, вариантов много...

если требуется только одно чтото переделать можно и так в htaccese:
^forum/forum_([0-9]+)/([0-9]+)(/?)+$ index.php?do=forum&showforum=$1&cstart=$2 [L]


вот тут масса полезной инфы
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.