[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Стоит ли ставить ЧПУ на сайт????
Shkiper
Всем Привет. Хочу у вас проконсультироваться стоит ли ставить ЧПУ на сайт???? unsure.gif Имеет ли он какие то уязвимости, "насилует" ли он сервер или что-то в этом роде????? И как сделать вот такую ссылку(с помощью ЧПУ естественно wink.gif ) Например: http://site.ru/category/news.html - где http://site.ru/category/news.html альтернативное имя категории(вытаскивается из БД) и http://site.ru/category/news.html - альтернативное имя новости(тоже извлекается из БД)

P.S: Michael надеюсь такое название темы тебя устраивает и ты не будет как ребенок капризничать и банить за это правдоподобное сообщение laugh.gif rolleyes.gif biggrin.gif smile.gif


 ! 

М
Редактировать не буду. Но сделаю так, чтобы ты не мог сам ничего исправить в этом сообщении.
sergeiss




Спустя 1 час, 21 минута, 30 секунд (5.05.2012 - 19:49) johniek_comp написал(а):
все дело в правильной настройке .htaccess посан.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]



Одна точка входа index.php разумеется.

а url разбиваю так:
Свернутый текст
<?php
defined('MEX') or die("Нет доступа");

class route extends framework
{
static $id;

public static function delegate()
{
// загружаем ?index.php?route=

$route = empty($_GET['route']) ? '' : $_GET['route'];

// разбиваем на массив через /

$exp = explode('/', $route);

// если адресс пуст, значит запускаем главную страницу

self::$id = isset($exp[2]) ? $exp[2] : null;

if($exp[0] == '')
{
$file = $_SERVER['DOCUMENT_ROOT'] .'/controllers/controller_index.php';
}
else
{
// заносим путь к классу (контроллеру)
$file = $_SERVER['DOCUMENT_ROOT'] .'/controllers/controller_'.$exp[0].'.php';
}
if(!file_exists($file))
{
engine :: away(); // не правильный адрес - 404
}
// подключаем файл

include_once $file;

/* если путь пуст к классу или класс в подключенном файле не найден
* то присваиваем $class = index, если найден то $exp[0]
*/

$class = (empty($exp[0]) or !class_exists($exp[0])) ? 'class_index' : $exp[0];

// создаем экземпляр класса
$controller = new $class;


/* аналогичным способом подключаем выбранный метод
* в случае если метод не найдет url = site.com/class
* то вызываем метод index выбранного класса, или метод index класса index
* url = site.com/class/method
*/

$method = (empty($exp[1]) or !method_exists($controller, $exp[1])) ? 'index' : $exp[1];

// вызываем полученный метод, получаем результат

$controller -> $method();
}

}

?>


набираем site.ru/category/news.html, будет создан экземпляр класса category и его метод news...

а вот простой контроллер:

Свернутый текст
<?php
defined('MEX') or die("Нет доступа");

class user extends route
{
public function index()
{
$data = array();
if(isset($_POST['data']))
{
$data['result'] = $_POST['data'];
}
View::Factory('user', 'Вход', $data);
}
public function add()
{
$data = array();
if(isset($_POST['data']))
{
mysql::query("INSERT INTO `user` VALUES (null, '". $_POST['data'] ."')");
}
View::Factory('user_new', 'Новый юзер', $data);
}
public function show()
{
$data = array();
if(isset(parent::$id))
{
$data['user_name'] = mysql :: select("SELECT `login` FROM `user` WHERE `id` = '". parent::$id ."'");
}
View::Factory('user_show', 'Просмотр ', $data);
}


}



при наборе site.ru/user
заработает метод index, а если site.ru/user/show/1 , то выведется логин юзера с id=1. если набрать site.ru/user/blabla то заработает метод index, т.к. blabla метода нет.

Спустя 32 минуты, 45 секунд (5.05.2012 - 20:22) sergeiss написал(а):
Цитата (Deert @ 5.05.2012 - 20:27)
Michael надеюсь такое название темы тебя устраивает....

А тут уже можно забанить за нарушение Правил Форума, а именно, за обсуждение действий модератора, п.4.6. Сделать? Эт мигом оформим...

И кстати - "правильное" название темы требуется согласно п.2.3.с тех же Правил.

Спустя 28 минут, 56 секунд (5.05.2012 - 20:50) Guest написал(а):
Во как интересно, там записано, действительно
Запрещены обсуждения действий модераторов и администраторов в общих разделах, пишите в ПМ. .
Что такое ПМ не знаю, лень разбираться,
НО, может я конечно испорчен 10 годами жизни на Западе,
но это попахивает режимами Сталина и Ким ИР Сена.
И как-то совсем не вяжется с нормальной обстановкой на форуме.

Спустя 2 минуты, 43 секунды (5.05.2012 - 20:53) Vladimir67 написал(а):
Э...
прошу прощения,
забыл с паролем войти, предыдущее сообщение от меня

Спустя 1 минута, 13 секунд (5.05.2012 - 20:54) Shkiper написал(а):
johniek_comp либо ты это мне продемонстрировал этот вариант для какогото фреймфорка либо я такого еще не знаю sad.gif

Спустя 5 минут, 41 секунда (5.05.2012 - 21:00) sergeiss написал(а):
Vladimir67! ПМ - это персональные (личные) сообщения, есть на любых форумах и здесь в том числе. А еще не рекомендуется флудить в тематических разделах, в частности, в этой теме smile.gif
Но все равно поясню, тем более, что к автору темы это тоже имеет некоторое отношение. Анархии на форуме не было и не будет!!! Так что уважайте Правила Форума и ваших собеседников - и вам будут рады.

Спустя 3 минуты, 7 секунд (5.05.2012 - 21:03) Shkiper написал(а):
sergeiss - Michael знает про что я biggrin.gif
Тот код который johniek_comp привел точно не из фреймфорка???

Спустя 39 секунд (5.05.2012 - 21:04) inpost написал(а):
Не парься, все используют реврайты, не переживают по этому поводу.

Guest
"И как-то совсем не вяжется с нормальной обстановкой на форуме."
Правда? На каком форуме?

Спустя 4 минуты, 1 секунда (5.05.2012 - 21:08) Invis1ble написал(а):
"Нормальная" обстановка - понятие относительное.
Для некоторых форумов друг друга на йух посылать - в порядке вещей. Не понимаю, чем не устраивает сложившаяся на данном форуме обстановка.

Спустя 7 минут, 55 секунд (5.05.2012 - 21:16) Bezdna написал(а):
Цитата (Guest @ 5.05.2012 - 21:50)
НО, может я конечно испорчен 10 годами жизни на Западе,


Не думаю что за 10 лет жизни на Западе вы, приходя в гости начинаете размахивать транспарантами и делать что заблагорассудится для нормальной обстановки.

Спустя 1 час, 7 минут, 49 секунд (5.05.2012 - 22:24) Vladimir67 написал(а):
М-да..,
чета я не понимаю.
Еще раз (согласен, зто не по данной теме, но эту подтему сам Sergeiss поднял)
Запрещены обсуждения действий модераторов и администраторов в общих разделах.
Это мягко говоря, отсутствие нормальных приличных отношений
между людьми.
Это почему я не могу высказаться о дейтсвиях модератора ????
Чем он неприкосновенние фрау Меркель или президнта СЩА или другой личности?
Понятно, есть куча обществ, организаций и пр.,
где есть жесткие ограничения в части начальства, свободы высказываний и пр.
Ну тогда все ясно, свидетели Иегова, салахисты, комм. партии и т.д.
Что, форум по программированию тоже сюда надо включать.
Все, пойду пить виски, может лучше другие точки зрения пойму.

Спустя 4 минуты, 8 секунд (5.05.2012 - 22:28) inpost написал(а):
Vladimir67
Есть форум с названием: "ПХП ПРОГРАММИРОВАНИЕ", и на нём должно быть допустимо общение только на тему программирования, а не взаимоотношений и т.д. и т.п. Всё, что не касается тематики - всё удалять. 0 трёпа, 0 флейма, есть ПХП, о нём и говорим.

Спустя 2 минуты, 11 секунд (5.05.2012 - 22:30) Vladimir67 написал(а):
Цитата (inpost @ 5.05.2012 - 19:04)
Не парься, все используют реврайты, не переживают по этому поводу.

Guest
"И как-то совсем не вяжется с нормальной обстановкой на форуме."
Правда? На каком форуме?

P.S.
Пока не начал пить.
Все в сравнении.
Я тут долго относительено с йогой разбирался
и на двух форумах "присутсвовал",
так там почти кошмар полный, степень
хамства, идиотизма на порядок (два)
выше чем здесь (по моему субьективному суждению, понятно)

Спустя 1 час, 42 минуты, 37 секунд (6.05.2012 - 00:13) sergeiss написал(а):
Цитата (Vladimir67 @ 6.05.2012 - 00:30)
Я тут долго относительено с йогой разбирался и на двух форумах "присутсвовал", так там почти кошмар полный, степень хамства, идиотизма на порядок (два) выше чем здесь (по моему субьективному суждению, понятно)

Вот потому здесь и нету (очень мало) хамства и идиотизма, что они, по возможности, "на корню" пресекаются.
Запрет на публичное обсуждение действий модераторов существует на многих форумах. И там, где его строго придерживаются, там более-менее порядок есть. Но и сами модераторы должны быть адекватными, естественно smile.gif Здесь - адекватные.
И на этом давай "офф-топ" закроем, вопрос был про "рерайты".

Спустя 6 часов, 37 минут, 3 секунды (6.05.2012 - 06:50) Michael написал(а):
Цитата (Deert @ 5.05.2012 - 18:27)
P.S: Michael надеюсь такое название темы тебя устраивает и ты не будет как ребенок капризничать и банить за это правдоподобное сообщение  laugh.gif  rolleyes.gif  biggrin.gif  smile.gif

В тебе сильно много малолетней гордыни, а ты этого даже не замечаешь. Аж так уязвлен, за бан от меня(заслуженный), что не смог обойтись без этого бестолкового сообщения...
Ты просто наверное даже не догадываешься, что только для того чтобы я стал воспринимать тебя и твои слова всерьез, тебе требуются годы взросления и набирания ума.

p.s. вот же ж и молодежь пошла, сами малолетки, хотят знания получить от старших товарищей, а в отплату тут же готовы дерзить, зубоскалить и ни капли благодарности.

Vladimir67, ты в армии наверное не служил?

Спустя 45 минут, 15 секунд (6.05.2012 - 07:35) VolDroN написал(а):
Deert
в .htaccess
RewriteEngine On
RewriteRule ^/(.*)/(.*).html$ news.php?category=$1&news=$2


ну а news.php уже понятно,:
<?php
echo $_GET['category'].'<br />'.$_GET['news'];
Быстрый ответ:

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