Jump to content

wwt

Expert
  • Posts

    2,571
  • Joined

  • Last visited

  • Days Won

    118

Everything posted by wwt

  1. В установщике задавать вопрос пользователю вы будете работать по https или нет =))) И результат сохранить в настройках, где опять же можно изменить даже на установленной системе 😃 А вообще вполне достаточно чтобы заготовка редиректа была в htaccess, грубо говоря классический вариант. Если у пользователя такая ситуация как у вас ему придется решать её самому. Самое главное редирект по умолчанию закомментировать, и написать комментарий. Так обычно делают все разработчики CMS
  2. Как вариант делайте проверку в php, если соединение не защищено редиректите =)))
  3. А тут нет никакой ошибки. Если взять вышеуказанное правило то там происходит следующее: Приходит запрос по 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. Доступ к конфигу они вряд ли дадут.
  4. Убрать к чертям Apache и переходить на Nginx+PHP-FPM
  5. Бесконечный редирект из-за этих строчек? #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'а.
  6. С помощью 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]
  7. Есть два варианта Копировать напрямую нужный символы из таблицы символов, находится она тут: Пуск - Все программы - Стандартные - Служебные - Таблица символов. Либо использовать мнемоники http://htmlbook.ru/samhtml/tekst/spetssimvoly С последней ссылки можно и сами символы копировать.
  8. Если нет полей, а нужно отлавливать команды https://jsfiddle.net/96Ld0kt6/
  9. Написать скриптик который будет перехватывать событие клика, что-то типо такого https://jsfiddle.net/sughpytz/
  10. Я чего-то не понимаю? 1.<body> их почему-то два 2. в js одна функция led() которая нигде не вызывается? Зато есть вызов load() которой нет. 3. зачем-то остановка интервала который нигде не создается. Да и вообще что именно не работает, и как это вообще должно было работать?
  11. Эм, я как-то неверно понимаю это предложение? ? Или речь идет не о всем посте, а о его части?
  12. Почему не сможете-то? Через форму вы передаете файл на сервер, он сохраняется во временной директории, путь к файлу хранится в одном из элементов массива $_FILES Читайте http://php.net/manual/ru/features.file-upload.post-method.php
  13. У вас в коде: $mail->addAttachment($_FILES['image']); Где $_FILES['image'] это массив! А туда нужно передавать путь к файлу на сервере если я ничего не путаю.
  14. Судя по вашей задаче кроме HTML и CSS тут ничего и не нужно, а раз погружаетесь, то дерзайте, и когда у вас что-то не будет получаться задавайте вопросы на этом форуме ? Не ждите пока вам наставник скажет "открываем блокнот и пишем <!DOCTYPE..."
  15. Верный подход для решения такой задачи это не городить очередные грабли, а решить данный вопрос созданием такой вещи как срок жизни. Во многих CMS эта вещь есть из коробки, а вот в WP судя по всему этого нет. Вот к примеру люди решают эту задачу более организованным способом https://hostenko.com/wpcafe/hacks/wordpress-posts-expiry-date/
  16. Чтобы понять что происходит нужно убрать условие выборки в основном запросе и добавить в вывод данные вот так: SELECT t.*, t2.refpost as t2refpost FROM `table` as t LEFT JOIN `table` t2 ON t2.type IN ('A','D') Грубо говоря через джоин к каждой записи таблицы присоединяется каждый вариант refpost у которого тип равен А или D и потом проверяется через INSTR на соответствие условию.
  17. Такс, если я верно понял что нужно получить то вот так: 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 - сам комментарий ЗЫ Верную работоспособность нужно тестировать ибо я по-быстрому на тестовой базе проверил, и не факт что выборка всегда ведет себя адекватно. Если опять чото не то написал тапками чур не кидаться =)) Я немного не трезв ?
  18. SELECT * FROM `table` AS t WHERE t.comment LIKE CONCAT('%',t.refpost,'%') AND t.type IN ('A','D') или так SELECT * FROM `table` AS t WHERE INSTR(t.comment,t.refpost) AND t.type IN ('A','D')
  19. Что-то я не понял, о каком таком наведении в мобильных вы говорите? Событие 'hover' это наведение курсора на объект, в мобильных за прост так(в зависимости от самого оборудования) нет никакого курсора =)))
  20. Опечатка была сначала на оранжевом фоне, теперь на синем. "слуги" вместо "услуги"
  21. Если я верно понял что вам надо https://jsfiddle.net/kvoL4zp9/
  22. background-image: url('data:image/svg+xml;utf8,<svg ...> ... </svg>');
  23. Смотрите отладчик и видите как браузер разобрал ваш код: <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 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 И видим там строчки: Отсюда делаем вывод что при добавлении внутрь P элемента LI он разрывает параграф ибо LI по умолчанию имеет свойство display: list-item, а закрывающий тег </p> образует новый элемент параграфа. Читайте документацию внимательнее, и С Новым Годом! =)
×
×
  • 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