FAKE ЧПУ, прошу "обкакать" мою реаллизацию

Nelius

кипарис во дворе
FAKE ЧПУ, прошу "обкакать" мою реализацию

Здравствуйте! Снова обращаюсь к Вам за советом )
В CMS моей так называемые ЧПУ были реализованны довольно хитрым способом, сейчас вот сижу и пытаюсь понять не обхитрил ли я сам себя) Суть реаллизации такова:

Допустим есть модуль новостей, там у нас есть новость "Дмитрий Квадратиков сменил фамилию на Пикселов":
Мы хотим чтобы ссылочка на эту новость выглядела как:
http://www.mysite.ru/news/Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov.html
Обычно это реаллизуется с помощью мод реврайт.
Я сделал вот как:
Директория news и файл Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov.html физически существуют на сервере.
Файл Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov.html содержит:
PHP:
<?php
$mod_id='news';
$item_id='Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov';
require('../index.php');
?>
Ну и собственно все просто))) Я даю знать ядру CMS что типа обращение идет к модулю новостей и народ сильно хочет видеть новость 'длинное название новости' ядро передает управление этому модулю и тот уже дает народу нужную новость.

Плюсы метода:
+ не нужен мод_реврайт со всеми вытекающими
+ не нужно ничего обрабатывать и парсить ибо ID "вшит" в файл.
Минусы:
- Файл физически создается на серваке, при большой нагрузке скорее всего будет повышенная нагрузка на файловую систему
- админка должна уметь генерить эти файлы при добавлении и редактировании новостей
- допольнительный include

В связи с рефакторингом CMS пытаюсь понять нужно ли оно или нет в новой версии.
Хотел бы услышать мнения по поводу такой реализации, возможно есть еще минусы которые я не увидел.
В общем хочу критики и высказываний про хирургов)))
Заранее всех благодарю.
 

Апокалипсис

тех дир matras.ru
Мне интересно какие побуждения повлекли писать такой велосипед?
Отсутствие знаний правил реврайта?
Я понимаю ещё если бы информация бы хранилась в этих файлах...
 

Nelius

кипарис во дворе
=) Было написанно давно, из-за того что на хостинге одном галимом "внезапно" неработал mod_rewrite и тех поддержка что-то мямлила "и делать мы ничего с этим не собираемся". А заказчикам надо было, вот я и велосипеднул)
Потом решил оставить для маленьких проектов, типа сайтов-визиток.
Собстно я и сам уже решил что буду от этого избавляться, но когда услышишь много всякого Г про реаллизацию, начинают руки чесаться побыстрее это сделать))))
 

Nelius

кипарис во дворе
Автор оригинала: Апокалипсис
подпись :)
Спалился :D
Ладно, если по делу, то сношу нафик этот свой заменитель_мод_реврайта)))
Спасибо за "опкакивание", а то мне все жалко было, код ведь для этого писал... дааа извращенец я)
 

tf

крылья рулят
Файл Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov.html содержит:
<?php
$mod_id='news';
$item_id='Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov';
require('../index.php');
?>
извращенец, компилируй весь сайт в xhtml и не парься
 

kruglov

Новичок
Можно просьбу личного характера?
Пишите слово "реализация" по-русски, с одной "л".
 

Nelius

кипарис во дворе
Автор оригинала: kruglov
Можно просьбу личного характера?
Пишите слово "реализация" по-русски, с одной "л".
Спасибо, щас поправлю.
Я индус, мне ошибаться иногда можно ;)

-~{}~ 23.11.07 20:53:

Просьба к модераторам, перенесите пожалуйста тему в Оффтоп.
 

Фанат

oncle terrible
Команда форума
а нафига Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov два раза повторять?
 

HraKK

Мудак
Команда форума
Кому собсно они нужны эти ваши ЧПУ? Я от них отказался уже давно. Задумайтесь над этим.
 

Nelius

кипарис во дворе
Автор оригинала: *****
а нафига Dmitry_Kvadratikov_smenil_familiyu_na_Pikselov два раза повторять?
Можно и не повторять, можно цифровой id было использовать)
Ну не важно уже, все равно с такой реализацией покончено)

-~{}~ 24.11.07 00:51:

Автор оригинала: HraKK
Кому собсно они нужны эти ваши ЧПУ? Я от них отказался уже давно. Задумайтесь над этим.
Я задумался) Прочитал ссылку которую дал dark-demon там тоже много рассуждений по этому поводу. Честно скажу мне они нафик не нужны) А вот поисковикам походу нужны( так бы вообще не заморачивался... а вообше мне нравится как на php.net или на Wiki сделанны ссылочки, просто и со вкусом)
 

dark-demon

d(^-^)b
мне нужны. если бы у упомянутого мною выше топика был чпу, то я бы мог набрать его по пямяти, а не пользоваться поиском.
 

Nelius

кипарис во дворе
dark-demon
Кстати спасибо за ссылку, попробовал твой код, он неплохой очень даже, но есть недостаток или это у меня только глюк но работает только в том случае если ссылка заканчивается на / иначе говорит нот фаунд)))
 

dark-demon

d(^-^)b
это специально, чтобы при использовании модреврайта не реврайтилась статика.

-~{}~ 24.11.07 11:16:

если собираешься использовать, то вот класс: http://php.ru/forum/viewtopic.php?t=6729

плюс:
назвать файл фронт-контроллера ".php"
модреврайтом редиректить именно на него
в index.php прописать редирект на ".php/"

это нужно, чтобы пользователь введя просто адрес сайта (http://vpupkin.ru/) попал по правильному урлу:
http://vpupkin.ru/ - если модреврайт включён
http://vpupkin.ru/.php/ - если модреврайт выключен

-~{}~ 24.11.07 11:21:

либо вообще забить на реврайт и делать ссылки вида:

http://vpupkin.ru/.get/topic/about_uuu/
http://vpupkin.ru/.add/topic/about_uuu/
http://vpupkin.ru/.edit/topic/about_uuu/
http://vpupkin.ru/.del/topic/about_uuu/

:)
 
Сверху