Проектирование скрипта

Тема в разделе "PHP", создана пользователем phillip, 14 дек 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Делаю тут небольшой сайтик...
    Пришел к такой системе:

    Через хтацесс сделано перенаправление всех запрашиваемых урлов на файл-обработчик index.php
    Допустим запрашивается domen.ru/news/tetrapak.html
    Урл перенаправляется на index.php, внутри которого запрашиваемая пага определяется с помощью $_SERVER['REQUEST_URI'].
    А все страницы у нас лежат в папке cache, при этом вместо слешей / мы ставим %.
    Итого, при запросе domen.ru/news/tetrapak.html проверяется, есть ли файл по адресу cache/%news%tetrapak.html.
    Если файл есть, отдаем его. Если нет, отдаем 404.

    По-моему плюсы:
    -ЧПУ, можем назначить любой адрес любому документу
    -Быстрая работа

    Минусы:
    -Хз как ведет себя такой редирект через хтацес при больших нагрузках
    -Может есть какие-то лучшие решения, а моя задумка велосипед

    Кто как делает, кто что посоветует
     
  2. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    я использую zend и не имею себе мозг. Если нужная какаято особая функциональность, то зф - хорошее решение. Если не нужна особая функциональность - юзаю цмс
     
    phillip нравится это.
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Твою задумку придумали еще несколько лет назад, видимо ты только об этом не знал. Итак:
    1) $_SERVER['REQUEST_URI'] не начинается со слэша, тут "cache/%news%tetrapak.html" уже ошибка.
    2) Вот эти 2 вещи нужны, чтобы запросы к реально существующим файлам и папкам не подвергались реврайту. В противном случае у тебя не будут подгружаться ни картинки, ни css-стили, ни яваскрипт:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    3)
    Почему же ты считаешь минусом то, в чем вообще ничего не смыслишь?
     
  4. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    я и не претендую на новизну, читай внимательно. наоборот, понимаю что велосипед выходит, и думаю может те кто до этого дошли, уже и улучшили сильно эту мысль, и развили что-то еще, в этом собственно и смысл темы ;)
    начинается. только что перепроверил
    я сделал предположение. потому что да, тут я не знаю! в других движках вроде тоже редиректы такие есть, и ничего, все держится. Но на одном форуме мне сказали что может падать. Лучше перестраховаться и узнать.
    Итого, каков ответ на вопрос, будут проблемы с нагрузками или нет?
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    1) Что такое по-твоему "велосипед"?
    2) редирект и преобразование url - это 2 разные вещи
    3) нагрузка на сервер измеряется количеством запросов к серверу в единицу времени и уж никак не зависит от одного правила ЧПУ.
     
  6. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    "изобретать велосипед"- выполнять ненужную работу, которая была уже выполнена успешно другими, и есть готовое решение.

    редирект- перенаправление. Так что тут смотря в каком контексте скажешь. В данном случае получается перенаправление с одного скрипта-обработчика на другой. То, что формально это разные вещи, это уже не относится к теме. Это перенаправление я и имел ввиду, не надо тут придираться что я слово не так сказал. Главное, что меня все прекрасно поняли, в том числе и ты.

    Помогать никто не принуждал, можешь пройти мимо если тебя вдруг мои темы стали раздражать
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Меня раздражают не конкретно твои темы, а вещи, которые люди пишут, при этом ничего не смысля в этом и пытаются сойти за умного.

    В любом контексте редирект остается редиректом, и это прямо указывает на твое незнание сетевых протоколов и принципа работы mod_rewrite.
     
  8. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    имхо
    % лучше не использовать вообще, если сильно хочется что то другое используй -
    я строи им разделители в ЧПУ
    они у меня вида
    XPAGE . "?x=news&task=read&category={alias}&id={id}",
    WWW . "news/{alias}/read-{id}-{seo}.html",
    WWW . "news/{alias}/read-{id}-{seo}.html",
    WWW . "news/read/{alias}/{id}-{seo}.html",
    WWW . "news/read-{alias}-{id}-{seo}.html",
    в {} подствляются переменные в процессе генерации кода,
    там можно уплавлять степень вложености, чем губже тем хуже индексируется опять же мое субъетивное мнение... реально же индексируются ровно но готов к тому что просто смени правила и все)
    первый тип чез всего)

    еще лучше создать свой набор библиотек и юзать их, я вот создал мини пакет его приписываю к любому двигу, без проблем, так же строю на нем простые сайты, правдо двиг щас переживает не лучшие времена внедрение ajax, html5, css 3 и тач свистелок для айпонтов и андроидов
     
    phillip нравится это.
  9. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    аргументируй свою точку зрения
     
  10. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    да. потому что это служебный символ же!!!
    Используется в URL_кодировании
     
Статус темы:
Закрыта.