Jump to content

wwt

Expert
  • Posts

    2,571
  • Joined

  • Last visited

  • Days Won

    119

Posts posted by wwt

  1. В установщике задавать вопрос пользователю вы будете работать по https или нет =))) И результат сохранить в настройках, где опять же можно изменить даже на установленной системе 😃

     

    А вообще вполне достаточно чтобы заготовка редиректа была в htaccess, грубо говоря классический вариант. Если у пользователя такая ситуация как у вас ему придется решать её самому. Самое главное редирект по умолчанию закомментировать, и написать комментарий. Так обычно делают все разработчики CMS

    • Like 1
  2. 27.03.2019 в 16:02, CyberX сказал:

    Может есть возможность достучаться до разработчиков nginx и apache и через них устранить ошибку бесконечного редиректа.

    А тут нет никакой ошибки. Если взять вышеуказанное правило то там происходит следующее:

    Приходит запрос по https на 443 порт Nginx'а, он обрабатывает запрос  и передает его апачу уже по http, без шифрования. Мод реврайт проверяет порт соединения и если он не 443 он делает редирект на 443 порт =))) Запрос опять летит на Nginx и все повторяется =)))

    Достаточно понимать что Nginx в данном случае проксирующий сервер и именно он слушает порты 80 и 443, а апачу передает запросы по другому порту(какой настроил вебмастер), обычно это 8080 или 88.

    Чтобы избежать такой проблемы нужно либо убирать один из серверов, либо настраивать их так чтобы они оба работали по https, вот по этому поводу можно почитать https://reinout.vanrees.org/weblog/2017/05/02/https-behind-proxy.html

     

    В вашем же случае думаю будет достаточно попросить админов хостинга прописать вашему сайту редирект с http на https в конфиге Nginx. Доступ к конфигу они вряд ли дадут.

     

    • Like 1
  3. Бесконечный редирект из-за этих строчек?

    #RewriteCond %{SERVER_PORT} !^443$
    #RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

     

    У вас спользуется связка Apache+Nginx как я понимаю? Тогда не удивлен что циклический редирект =))) Эти правила будут работать только на чистом апаче. Если перед ним стоит nginx(на котором и настраивают обычно SSL) то редирект с http на https нужно настраивать в конфиге nginx =))) А там нет никаких htaccess 😃

    То же самое кстати касается и других моментов. К примеру вы хотите отдавать статику с gzip сжатием, но статику у вас отдает не apache, а nginx 😃 тогда и настройку сжатия нужно делать в конфиге nginx'а, а не в apache 😃

    Грубо говоря есть 3 варианта (не считая экзотики типо IIS) реализации веб-серверов:

    1) Apache only - .htaccess и mod_rewrite работают в полную силу.

    2) Apache+Nginx - очень распространенная конфигурация у хостеров, требующая иногда дополнительной настройки руками под каждый движок. Если не используется SSL то с редиректами все ОК и .htaccess и mod_rewrite работают в штатном режиме. Но некоторые другие вещи возможно придется настраивать в конфиге nginx'а.

    3) Nginx+PHP-FPM - все настраивается в конфиге nginx'а.

    • Like 1
  4. С помощью modRewrite и .htaccess

    два варианта:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    RewriteEngine On
    RewriteCond %{HTTPS} =off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

     

    • Like 1
  5. Есть два варианта

    Копировать напрямую нужный символы из таблицы символов, находится она тут:

    Пуск - Все программы - Стандартные - Служебные - Таблица символов.

    Либо использовать мнемоники  http://htmlbook.ru/samhtml/tekst/spetssimvoly

    С последней ссылки можно и сами символы копировать.

     

    • Like 1
  6. Я чего-то не понимаю?

    1.<body> их почему-то два

    2. в js одна функция led() которая нигде не вызывается? Зато есть вызов load() которой нет.

    3. зачем-то остановка интервала который нигде не создается.

    Да и вообще что именно не работает, и как это вообще должно было работать?

    • Confused 1
  7. 3 часа назад, Int сказал:

    Но задача стоит не скрыть пост по достижению какой-то даты, а показать, когда дата наступила.

    Эм, я как-то неверно понимаю это предложение? ?

    В 15.01.2018 в 17:28, tnkp сказал:

    Здравствуйте! Есть контент в посте который нужно скрыть если текущая дата больше чем дата создания поста.

    Или речь идет не о всем посте, а о его части?

  8. 6 часов назад, Михаил HTML сказал:

    Ищу помощника или наставник в создании небольшого сайта.
    С данного момента погружаюсь в тему изучения верстки.
    Мой максимум это HTML i CSS. 

    Судя по вашей задаче кроме HTML и CSS тут ничего и не нужно, а раз погружаетесь, то дерзайте, и когда у вас что-то не будет получаться задавайте вопросы на этом форуме ? Не ждите пока вам наставник скажет "открываем блокнот и пишем <!DOCTYPE..."

  9. Верный подход для решения такой задачи это не городить очередные грабли, а решить данный вопрос созданием такой вещи как срок жизни. Во многих CMS эта вещь есть из коробки, а вот в WP судя по всему этого нет. Вот к примеру люди решают эту задачу более организованным способом https://hostenko.com/wpcafe/hacks/wordpress-posts-expiry-date/

  10. Чтобы понять что происходит нужно убрать условие выборки в основном запросе и добавить в вывод данные

    вот так:

    SELECT 
    t.*,
    t2.refpost as t2refpost
    FROM `table` as t 
    LEFT JOIN `table` t2 ON t2.type IN ('A','D') 

    Грубо говоря через джоин к каждой записи таблицы присоединяется каждый вариант refpost у которого тип равен А или D и потом проверяется через INSTR на соответствие условию.

    • Like 1
  11. Такс, если я верно понял что нужно получить то вот так:

    SELECT 
    t.id as id,
    t2.refpost as refpost,
    t.type as type,
    t.comment as comment
    FROM `table` as t 
    LEFT JOIN `table` t2 ON t2.type IN ('A','D') 
    WHERE INSTR(t.comment, t2.refpost)

    В итоге выборки должен быть получен массив где

    id это идентификатор записи

    refpost это рефпост по которому была найдена запись ( он может повторятся если было найдено несколько постов где в поле comment встречается данный refpost, по этому элементу их можно сгруппировать, а очередность комментариев сделать тупо сортировкой по полю id ибо оно уникально и новая запись всегда имеет больший номер)

    type это тип записи

    comment - сам комментарий

     

    ЗЫ Верную работоспособность нужно тестировать ибо я по-быстрому на тестовой базе проверил, и не факт что выборка всегда ведет себя адекватно. Если опять чото не то написал тапками чур не кидаться =)) Я немного не трезв ?

    • Thanks 1
  12. 3 часа назад, mrnobody сказал:

    Вот пример, если ширина меньше 639 пикселей (типа мобильный), то показывает тултипы при наведении

    Что-то я не понял, о каком таком наведении в мобильных вы говорите? Событие 'hover' это наведение курсора на объект, в мобильных за прост так(в зависимости от самого оборудования) нет никакого курсора =)))

  13. Смотрите отладчик и видите как браузер разобрал ваш код:

    <ul>
      <li>1</li>
      <li>2</li>
      <div>
        <li>555</li>
      </div>
      <p>
        </p><li>555</li>
      <p></p>
      <li>3</li>
      <li>4</li>
      <li>5</li>
    </ul>

    А дальше внимательно читаем описания элементов UL и P

    UL

    Цитата

    Тег <ul> устанавливает маркированный список. Каждый элемент списка должен начинаться с тега <li>. Если к тегу <ul> применяется таблица стилей, то элементы <li> наследуют эти свойства.

    P

    Цитата

    Определяет текстовый абзац. Тег <p> является блочным элементом, всегда начинается с новой строки, абзацы текста идущие друг за другом разделяются между собой отбивкой. Величиной отбивки можно управлять с помощью стилей. Если закрывающего тега нет, считается, что конец абзаца совпадает с началом следующего блочного элемента.

    Кроме этого элемент P не может содержать внутри себя другие блочные элементы, это написано вот тут https://www.w3.org/TR/html401/struct/text.html#h-9.3.1

    Правило что каждый элемент списка должен начинаться на LI нарушено, но браузер постарался исправить этот момент и отобразить страницу как надо. А вот с P возникла проблема, ибо, и читаем что же такое блочный элемент http://htmlbook.ru/samlayout/blochnaya-verstka/blochnye-elementy

    И видим там строчки:

    Цитата

    Также блочным становится элемент, если в стиле для него свойство display задано как block, list-item, table и в некоторых случаях run-in.

    Отсюда делаем вывод что при добавлении внутрь P элемента LI он разрывает параграф ибо LI по умолчанию имеет свойство display: list-item, а закрывающий тег </p> образует новый элемент параграфа.

    Читайте документацию внимательнее, и С Новым Годом! =)

    • Like 2
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy