За последние 24 часа нас посетили 67067 программистов и 3272 робота. Сейчас ищет 781 программист ...

Cookie redirect

Тема в разделе "Прочие вопросы по PHP", создана пользователем divined, 26 июн 2012.

  1. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    "Слово о перманенте" есть в первом сообщении темы.
    А в этих реврайтах вообще редиректа нет. Вам внешний редирект нужен или внутренний?
     
  2. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Если вы прочитаете все то может быть помете. Все достаточно сумбурно изложено. Мне нужен или 301 или внутренний.
    301 мне нужен чтобы правильно обрабатывались пути кэшем.
    Или нужен внутренний, но он не работает из-за странного кэша - Response Headers From Cache
     
  3. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Значит, во-первых, не 301, а 302. Если у вас один локейшен плюется в разные стороны, то это 302.
    RewriteCond %{HTTP_COOKIE} curr=r
    RewriteCond %{QUERY_STRING} ! curr
    RewriteRule /path/ /path/?curr=r [R]
    Вот банальный внешний редирект. Если нет принудительного кеширования в заголовках, то кешироваться не должно. Хотя у хрома вроде был баг на эту тему.
    Если внутренний редирект - то еще все проще, но никаких Location там вообще не должно быть.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    там при переключении валюты один и тот же урл остаётся. Хотя мне кажется, что где-то просто чего-то недописано, ибо отдавать такие страницы можно легко и просто без кеша.
     
  5. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    500 Error =)

    Добавлено спустя 57 секунд:
    Так вот я и хочу дописать чтобы УРЛ менялся при переключении )))
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а кстати как цены в базе хранятся?

    Добавлено спустя 28 секунд:
    дык припишите валюту ко всем ссылкам
     
  7. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    RewriteCond %{HTTP_COOKIE} curr=r
    RewriteCond %{QUERY_STRING} !curr
    RewriteRule ^(.*)$ $1?curr=r [L,R=301]

    Вот так работает

    Добавлено спустя 1 минуту 44 секунды:
    dev.rkreal.ru можно здесь посмотреть

    заголовок Cache-Control store, no-cache, must-revalidate, post-check=0, pre-check=0
    однако сам редирект, не имеет этого заголовка, и он кэшируется, посмотрите в фаербаге.
    сменить валюту можно один раз, второй раз редирект идет из кэша.

    Добавлено спустя 1 минуту 31 секунду:
    а кстати как цены в базе хранятся?

    В 1 поле в евро. Преобразуются по курсу от яху финанс, который обновляется раз в сутки.

    Дык припишите валюту ко всем ссылкам.

    Этот вариант решения я сейчас рассматриваю, пока не нашел спсоб )
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну можно яваскриптом цены менять у челов тупо уже на клиентах.
     
  9. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Тоже можно, косяк с фильтрами, а именно с четкостью значение Slider (range), который используется для поиска объектов.

    Добавлено спустя 20 секунд:
    Вот я и ищу какой вариант лучше.

    Добавлено спустя 41 секунду:
    Сейчас попытают зареврайтить все ссылки на странице, если уж не получится перейду к JS
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а почему у вас полторы секунды сайт рожает? перекиньте на другой хостинг, может посмотрим чего там не так. странно это.
     
  11. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    302 редирект не кешируется, нашел инфу. Как он с СЕО совместим?

    Добавлено спустя 1 минуту 22 секунды:
    Executed 1346 queries in 517.84 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 1526.39 ms.

    Просто тяжело сделан, из за сложной иерархичной структуры (

    Добавлено спустя 3 минуты 46 секунд:
    Алилуйа, наверное 302 редирект это то чего я искал все это время )

    Добавлено спустя 4 минуты 30 секунд:
    Да, оно, можно включать html кэш. Пасибо большое. Как я мог не посмотреть в сторону 302 редиректа. А все старые правила "Никогда не используй 302" )))

    Добавлено спустя 14 минут 13 секунд:
    Вы хотите этим занятся? Я пытался уже много раз, но так и не смог найти корни. Я считаю что застрял какой-то кусок старого модуля в сайте и не могу его найти. Мне тоже кажется что не должно быть больше 700мс загрузка идти, однако... (((
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну я "заняться" не могу, ибо я не программист, не этим зарабатываю. Но посмотреть хотел бы. У вас на странице штук двадцать позиций, и откуда им нужно ПОЛТОРЫ ТЫЩИ запросов - это интересно поковырять =)
     
  13. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    RewriteCond %{HTTP_COOKIE} curr=r
    RewriteCond %{QUERY_STRING} !curr
    RewriteRule ^(.*)$ $1?curr=r [L,R=302]

    Как переписать этот редирект чтобы он учитывал существующую {QUERY_STRING}. В данный момент он ее заменяет.
    По пальцам:

    Есть страница site.ru/region после редиректа с куки "рубли" получается адрес site.ru/region?curr=r - верно
    Есть страница site.ru/region?page=10&sort_field=price&sort_order=asc
    после редиректа с куки "рубли" получается все равно адрес site.ru/region?curr=r - не верно
     
  14. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    RewriteRule ^(.*)$ $1?curr=r [L,R=301,QSA]

    Добавлено спустя 1 минуту 18 секунд:
    >А все старые правила "Никогда не используй 302" )))
    Это правила сеошников при перемещении страниц. У вас поисковик без куки придет, так что вообще никакого редиректа не получит.
     
  15. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Не работает, все равно убирает предыдущий {QUERY_STRING}

    Добавлено спустя 2 минуты 8 секунд:
    Нет, работает, это моя ошибка при переключении валюты. Моя функция просто заносит значение в куки и рефрешит текущую страницу без {QUERY_STRING}.
     
  16. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Большое спасибо, все настроено. Загрузка страницы 300-350мс. Это с обычным php кешем в БД. После подключения html кеша думаю снизится еще на 100мс.

    Я наверное отклоню ваше предложение, все-таки сайт это собственность компании =((. А пока начну переводить всю систему на более новую версию CMS, возможно в процессе переноса и найду ошибку.

    Всем спасибо еще раз.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а это понятно! нельзя давать доступ к базе и даже её копию. И даже в исходы не обязательно пускать.
    Для того, чтобы тут разобраться надо собрать запросы, и оценить структуру. Может у вас там индексы неправильно настроены и делов-то.
    Но просто чтобы понять зачем там полторы тыщи запросов, нужно на них взглянуть. К тому же, правильно сформированные запросы хорошо кешируются, даже если модули сайта запрашивают одно и то же - должно работать быстро.

    А давать проект левым людям - не нужно никогда. Даже на аутсорс такие вещи выносить опасно.

    Но список запросов дайте глянуть, прям ваще интересно что за полторы тыщи-то =)
     
  18. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Это думаю не проблема, сейчас подготовлю чтобы для анонима показывались.

    Добавлено спустя 6 минут 15 секунд:
    готово, смотрите
    кэш отключен пока
    так же учти что проект на двух языках и не удивляйся о запросах модуля locale.
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не вижу запросов =) где смотреть?
     
  20. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    dev.rkreal.ru внизу страницы

    Добавлено спустя 45 секунд:
    я их немного сократил сейчас (вдвое), увидел что модуль тянет переводы для слов которые и так на русском )))

    Добавлено спустя 39 секунд:
    Так же вижу что Nodewords модуль много запросов генерирует.

    Добавлено спустя 40 секунд:
    Откройте пока страницу с запросами, а я буду экспериментировать с отключением модулей.

    Добавлено спустя 2 минуты 19 секунд:
    Есть контакт??? Могу экспериментировать?

    Добавлено спустя 3 минуты 27 секунд:
    Так же вижу что основные запросы-потребители ресурсов это запросы статистики и мониторинга.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Код (Text):
    1.   <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/mapsearch/js/jquery-tooltip/jquery.tooltip.css?x" />
    2. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/jquery_ui/themes/cupertino/jquery-ui-1.8.16.custom.css?x" />
    3. <link type="text/css" rel="stylesheet" media="all" href="/modules/node/node.css?x" />
    4. <link type="text/css" rel="stylesheet" media="all" href="/modules/poll/poll.css?x" />
    5. <link type="text/css" rel="stylesheet" media="all" href="/modules/system/defaults.css?x" />
    6. <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system.css?x" />
    7. <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system-menus.css?x" />
    8. <link type="text/css" rel="stylesheet" media="all" href="/modules/user/user.css?x" />
    9. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/cck/theme/content-module.css?x" />
    10. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/date/date.css?x" />
    11. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/libraries/fancybox/jquery.fancybox-1.3.4.css?x" />
    12. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/filefield/filefield.css?x" />
    13. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/rate/rate.css?x" />
    14. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/video/css/video.css?x" />
    15. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/views/css/views.css?x" />
    16. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/advpoll/advpoll.css?x" />
    17. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/finder/finder.css?x" />
    18. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/style.css?x" />
    19. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/typography.css?x" />
    20. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/superfish.css?x" />
    21. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/superfish-navbar.css?x" />
    22. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/superfish-vertical.css?x" />
    23. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/acquia_marina/css/fusion-acquia-marina-style.css?x" />
    24. <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/acquia_marina/css/jquery-ui-1.8.13.custom.css?x" />
    25.   <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/fusion/fusion_core/css/grid16-960.css" />
    ебать =)

    Код (Text):
    1.  
    2.     <script type="text/javascript" src="/sites/all/modules/jquery_update/replace/jquery.js?x"></script>
    3. <script type="text/javascript" src="/misc/drupal.js?x"></script>
    4. <script type="text/javascript" src="/sites/default/files/languages/ru_469b644fdda796f051550bc0a239b637.js?x"></script>
    5. <script type="text/javascript" src="/sites/all/modules/mapsearch/js/raphael.js?x"></script>
    6. <script type="text/javascript" src="/sites/all/modules/mapsearch/js/paths.js?x"></script>
    7. <script type="text/javascript" src="/sites/all/modules/mapsearch/js/init.js?x"></script>
    8. <script type="text/javascript" src="/sites/all/modules/mapsearch/js/jquery-tooltip/jquery.tooltip.js?x"></script>
    9. <script type="text/javascript" src="/sites/all/modules/rkreal/js/jquery.validate.min.js?x"></script>
    10. <script type="text/javascript" src="/sites/all/modules/rkreal/js/jquery.form.js?x"></script>
    11. <script type="text/javascript" src="/sites/all/modules/rkreal/js/script.js?x"></script>
    12. <script type="text/javascript" src="/sites/all/modules/ajax_poll/ajax_poll.js?x"></script>
    13. <script type="text/javascript" src="/sites/all/libraries/fancybox/jquery.fancybox-1.3.4.js?x"></script>
    14. <script type="text/javascript" src="/sites/all/modules/fancybox/js/fancybox.js?x"></script>
    15. <script type="text/javascript" src="/sites/all/modules/fancybox/js/jquery.easing-1.3.pack.js?x"></script>
    16. <script type="text/javascript" src="/sites/all/modules/fancybox/js/jquery.mousewheel-3.0.4.pack.js?x"></script>
    17. <script type="text/javascript" src="/sites/all/modules/google_analytics/googleanalytics.js?x"></script>
    18. <script type="text/javascript" src="/sites/all/modules/poormanscron/poormanscron.js?x"></script>
    19. <script type="text/javascript" src="/sites/all/modules/video/js/video.js?x"></script>
    20. <script type="text/javascript" src="/sites/all/modules/views/js/base.js?x"></script>
    21. <script type="text/javascript" src="/sites/all/modules/views/js/dependent.js?x"></script>
    22. <script type="text/javascript" src="/sites/all/modules/views/js/ajax_view.js?x"></script>
    23. <script type="text/javascript" src="/sites/all/modules/advpoll/advpoll-vote.js?x"></script>
    24. <script type="text/javascript" src="/sites/all/modules/jquery_update/replace/jquery.form.js?x"></script>
    25. <script type="text/javascript" src="/sites/all/modules/jquery_update/replace/ahah.js?x"></script>
    26. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/jquery.bgiframe.min.js?x"></script>
    27. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/hoverIntent.js?x"></script>
    28. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/supposition.js?x"></script>
    29. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/supersubs.js?x"></script>
    30. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/superfish.js?x"></script>
    31. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/script.js?x"></script>
    32. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.corner.js?x"></script>
    33. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/acquia-marina-script.js?x"></script>
    34. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.numberformatter.js?x"></script>
    35. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.ui.core.js?x"></script>
    36. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.ui.widget.js?x"></script>
    37. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.ui.mouse.js?x"></script>
    38. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.ui.slider.js?x"></script>
    39. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.cookie.js?x"></script>
    40. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.json-2.2.min.js?x"></script>
    41. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/jquery.carousell.js?x"></script>
    42. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/slimScroll.js?x"></script>
    43. <script type="text/javascript" src="/sites/all/themes/acquia_marina/js/cascadedropdown.js?x"></script>
    44. <script type="text/javascript" src="/sites/all/themes/fusion/fusion_core/js/jquery.equalheights.js?x"></script>
    беда
     
  22. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    я же сказал что оключено и кэширование и объединения JS и CSS

    Добавлено спустя 21 секунду:
    Это одной кнопкой решается. Для отладки отключаю.
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а, я не прочел, прости.

    кеширование странное. Вобще друпал неплохо со своей работой справляется. Но у тебя куча странных запросов... куча...

    Добавлено спустя 23 секунды:
    включи кеширование плс
     
  24. divined

    divined Активный пользователь

    С нами с:
    26 июн 2012
    Сообщения:
    30
    Симпатии:
    0
    Executed 409 queries in 120.5 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 811.21 ms.

    Вот таких параметров удалось достич. =)

    Добавлено спустя 42 секунды:
    Включил кэширование, и убрал некоторые модули.

    Добавлено спустя 1 минуту 12 секунд:
    При включенном кэшировании не выдает отладочную информацию.

    Добавлено спустя 2 минуты 58 секунд:
    С моей формой проблема:
    88.01 мс cache_set

    Запрос занесения моей формы в кэш занимает много времени (

    Добавлено спустя 20 минут 25 секунд:
    Я сейчас скопировал тело запроса, который кэширует форму создания материала, в нотепад. Нотепад вылетел с ошибкой нехватки памяти )

    Добавлено спустя 14 секунд:
    Нотепад++
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    у тебя есть несколько тормозных запросов. победи их
    время сократится наверное до 100мс. можно работать без кеша в твоих условиях спокойно.

    но конечно переводы просто чума как плодят запросы...