Обработка ЧПУ не через .htaccess
Сидел вчера весь день дома, т.к. простудился. Сидел и работал над маленькими проектиками. И вдруг решил написать класс для ЧПУ, который бы мог заменить несколько строчек в .htaccess, где можно было лишь оставить одно правило RewriteRule . /index.php [L]. Конечно, полностью универсального варианта для любых ссылок не придумаешь, но для моего вариант вполне подходит.
class _getLinks {
function _parser(){
$furl = parse_url($_SERVER[’REQUEST_URI’]);
$url = explode(’/’, $furl[’path’]);
$url = array_filter($url, "strlen");
$url = array_filter($url, "urlencode");
$url = array_reverse($url);
return $url;
}
function _getCategory() {
$res = $this->_parser();
return $res[1];
}
function _getTitle() {
$var = $this->_parser();
$res = preg_split("/[.\\s]/",$var[0]);
return $res[0];
}
}
Можно использовать ссылки вида: http://server.com/category/subcategory/title.html и получать, соответственно, url категории и url новости, которые уже можно прогонять по базе…
P.S. Подумал немного… Абсолютно бесполезная и ненужная фигня получилася :(
22.02.2007 // 05:54
Віктар написал(а):
А я наадварот як мага болей перакладваю на .htaccess. І нават разбор URL, і праверка на падтрымку XHTML і шмат чаго іншага - там.
[ответить]
22.02.2007 // 05:55
Віктар написал(а):
Так… І … Пісаў гэты камент. "Хатстаронка" напісаў "http://victorgr.livejournal.com/" (са слэшам у канцы). Дык мне скрыпт напісаў, што "Гэты адрас няправільны". Хіба ж?
[ответить]
22.02.2007 // 09:42
Slaver ответил(а):
Усё ж, чым больш файл .htaccess, тым больш ён тармазіць…
А наконт урлаў… Там памылка ў рэгулярке. Толькі нядаўна знайшоў, але яшчэ не выправіў :(
[ответить]
23.02.2007 // 12:24
Віктар написал(а):
Ці ж?
Ёсьць дакладныя зьвесткі?
Мне здаецца Apache апрацуе .htaccess значна хутчэй за скрыпт (ну, гэта ня тычыцца mod_rewrite, так). Але я часта абыходжуся проста SetEnvIf.
[ответить]
28.02.2007 // 01:07
Cap написал(а):
Блин!.. А вас тут оказываться трудно понять… Может по-русски будем дружно писать? - Ну это просто маленькое мое желание!
[ответить]
28.02.2007 // 01:10
Slaver ответил(а):
Итак блог по-русски, в отличие от livejournal. А вот комменты могут быть на любом языке, которым владею, хотя бы немного :)
[ответить]
28.02.2007 // 04:47
Cap ответил(а):
Не я конечно понимаю, но блин, тут хрен чего нормально поймешь в комментариях…
[ответить]
28.02.2007 // 04:50
Cap ответил(а):
p.s. Слав, настрой пожалуйста кнопку "Добавить", а то иногда думаешь, а комментарий на добавку ушел или нет?!.. Как стоял так и стоит перец с надписью "Добавить" ужас.
[ответить]