Обработка ЧПУ не через .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. Подумал немного… Абсолютно бесполезная и ненужная фигня получилася :(

18.02.2007. Раздел: PHP. Ключевые слова: .

Комментариев: 8 RSS


  1. Віктар написал(а):

    А я наадварот як мага болей перакладваю на .htaccess. І нават разбор URL, і праверка на падтрымку XHTML і шмат чаго іншага - там.

    [ответить]


  2. Віктар написал(а):

    Так… І … Пісаў гэты камент. "Хатстаронка" напісаў "http://victorgr.livejournal.com/" (са слэшам у канцы). Дык мне скрыпт напісаў, што "Гэты адрас няправільны". Хіба ж?

    [ответить]


    Slaver ответил(а):

    Усё ж, чым больш файл .htaccess, тым больш ён тармазіць…

    А наконт урлаў… Там памылка ў рэгулярке. Толькі нядаўна знайшоў, але яшчэ не выправіў :(

    [ответить]


  3. Віктар написал(а):

    Ці ж?

    Ёсьць дакладныя зьвесткі?

    Мне здаецца Apache апрацуе .htaccess значна хутчэй за скрыпт (ну, гэта ня тычыцца mod_rewrite, так). Але я часта абыходжуся проста SetEnvIf.

    [ответить]


  4. Cap написал(а):

    Блин!.. А вас тут оказываться трудно понять… Может по-русски будем дружно писать? - Ну это просто маленькое мое желание!

    [ответить]


    Slaver ответил(а):

    Итак блог по-русски, в отличие от livejournal. А вот комменты могут быть на любом языке, которым владею, хотя бы немного :)

    [ответить]


    Cap ответил(а):

    Не я конечно понимаю, но блин, тут хрен чего нормально поймешь в комментариях…

    [ответить]


    Cap ответил(а):

    p.s. Слав, настрой пожалуйста кнопку "Добавить", а то иногда думаешь, а комментарий на добавку ушел или нет?!.. Как стоял так и стоит перец с надписью "Добавить" ужас.

    [ответить]

Оставить комментарий