X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Универсальный скрипт ЧПУ для сайтов
Maverick_mw
Maverick_mw
Topic Starter сообщение 6.12.2011, 12:50; Ответить: Maverick_mw
Сообщение #1


Решил выложить универсальный скрипт ЧПУ для сайтов, с помощью которого работа с ЧПУ будет проще и быстрее.

в htaccess добавляем:
[php]RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_URI} (.*/[^/.])($|\?)
RewriteRule .* %1/ [R,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [NC,QSA,L]
RewriteCond %{HTTP_REFERER} (weight) [NC,OR]
RewriteCond %{HTTP_REFERER} (drugs) [NC]
RewriteRule ^.htaccess$ - [F][/php]

PHP класс чпу:
[php]class CRequest{
var $arrRequest = array(); //массив параметров запроса

function CRequest($request='') // конструктор класса
{
$this->arrRequest = CRequest::GetRequest($request);
}

function GetRequest($request){
$arrRequest = array();
// Уберем данные передынные через GET
$request = preg_replace('@\?(.*)$@si','',$request);
// Уберем первый и последний слэшь
$request = preg_replace('@^/@si','',preg_replace('@/$@si','',$request));

//Полный массив запроса
$arrRequest = explode('/', $request);
if(!isset($arrRequest[0])) $arrRequest[0] = '';
if(!isset($arrRequest[1])) $arrRequest[1] = '';
if(!isset($arrRequest[2])) $arrRequest[2] = '';
return $arrRequest;
}
}[/php]

Этот класс подключаем в нужный файл, например index.php (у меня обычно через него формирование url формируется и переходы по страницам)
[php]$request = new CRequest($_SERVER['REQUEST_URI']);
#- тут передает первый параметр ссылки например: http://site.com/news/ - news будет первый параметром.
$first=$request->arrRequest[0];
#- это будет например id новости, пример: http://site.com/news/id-1/
$id = (preg_match('/id-([0-9]{1,10})$/i',$request->arrRequest[1],$matches)) ? (int)$matches[1] : 0;
#- это будет например номер страницы(для на навигации), пример: http://site.com/news/page-1/
$page = (preg_match('/page-([0-9]{1,10})$/i',$request->arrRequest[1],$matches)) ? (int)$matches[1] : 0;[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 6.12.2011, 13:23; Ответить: sc2r2bey
Сообщение #2


покажи сайты, где этот скрипт работает


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bumer_mw
bumer_mw
сообщение 6.12.2011, 16:18; Ответить: bumer_mw
Сообщение #3


Работает со всеми движками и компонентами? Интересует связка джомла+виртуемарт
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Maverick_mw
Maverick_mw
Topic Starter сообщение 6.12.2011, 16:23; Ответить: Maverick_mw
Сообщение #4


ухх. ну и спросили) я его использую только для самописных сайтов.
пример: http://voorby.com/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
сообщение 6.12.2011, 17:38; Ответить: Banderas
Сообщение #5


Спасибо, попробую...)))

кстати, недоработка _http://finsection.com/?referral=voorby - посмотрите на ссылку
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Maverick_mw
Maverick_mw
Topic Starter сообщение 6.12.2011, 18:23; Ответить: Maverick_mw
Сообщение #6


проект закрыт, так что не суть ;) это как бы демо (для продажи скрипта)


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 360 Вчера, 15:13
автор: LiveExpert
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 327 Вчера, 15:13
автор: LiveExpert
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыAzinomoney.com - гемблинг-партнерка с 65%RS для каждого
Гарантированный заработок на гемблинг-трафике
65 AzinoMoney 29183 27.3.2024, 19:10
автор: AzinoMoney
Горячая тема (нет новых ответов) Делаю полностью уникальный дизайн для сайтов!
46 AlexDIZ 93495 26.3.2024, 20:03
автор: AlexDIZ
Открытая тема (нет новых ответов) Продвижение сайтов в ТОП-1 за сутки. Бесплатный тест!
13 matias 3288 26.3.2024, 19:53
автор: matias


 



RSS Текстовая версия Сейчас: 29.3.2024, 6:38
Дизайн