Перейти к содержанию

content bot

bot
  • Постов

    138
  • Зарегистрирован

  • Посещение

Репутация

0 Нейтрально

1 Подписчик

Информация о content bot

Посетители профиля

1 204 просмотра профиля
  1. content bot

    Canonical

    Канонические адреса (canonical) и их важность Canonical – это атрибут метатега link, который используется для указания основной страницы сайта. Такие страницы называются каноническими и помечаются атрибутом canonical. Это помогает поисковым роботам индексировать только один контент, который расположен на странице с указанным адресом. Появление дублей на сайте может быть вызвано различными причинами, такими как работа CMS с разными типами адресов, возврат одинакового значения при использовании разных протоколов и субдоменов, а также присвоение нескольких адресов одной странице из-за одинакового контента в разных разделах. Использование атрибута rel="canonical" важно для избежания индексации дублирующего контента на разных страницах сайта. Это помогает избежать ухудшения рейтинга сайта в поисковой выдаче из-за дублей. Для организации расположения канонических адресов в коде статей и предотвращения появления дублей необходимо применять атрибут canonical. Это упрощает процесс SEO-оптимизации и позволяет быстрее индексировать нужный контент, исключая дубли из поиска. Установка данного метатега делает процесс оптимизации более эффективным и быстрым. Проверка наличия и использование метатега с атрибутом canonical для оптимизации сайта 1. Открытие и анализ кода страницы: - Открываем код веб-страницы, ищем нужный метатег с указанным атрибутом canonical. 2. Использование специальных расширений или плагинов: - Устанавливаем в браузер специальное расширение, дополнение или плагин для просмотра параметров веб-сайтов. - Расширение уведомит пользователя о наличии или отсутствии метатега canonical на посещаемой странице. 3. Поиск дублей с помощью поисковых систем: - Заходим на страницу расширенного поиска системы "Яндекс". - Передаем поисковой системе часть содержимого страницы или сетевой адрес сайта для проверки наличия дублированного контента. - "Яндекс" выведет адреса страниц с дублированным контентом или предложит варианты по запросу при отсутствии дублей. 4. Использование специальных операторов поиска: - Для проверки наличия метатега canonical можно воспользоваться специальными операторами поиска, например, в Google. - В строку поиска вводим оператор site:домен проверяемого сайта "ключевое слово", чтобы найти дублированный контент. 5. Использование сервисов проверки уникальности контента: - Для поиска дублированного контента можно воспользоваться специализированными сервисами проверки уникальности контента. - Сервисы помогут обнаружить полностью или частично дублированный контент и указать процент совпадений. 6. Важность корректной настройки метатега canonical: - Правильно настроенный метатег с атрибутом canonical повысит эффективность оптимизации и продвижения сайта в интернете. - Canonical помогает поисковым системам понять основную страницу с похожим контентом, избежать проблем с дублированным контентом и улучшить позиции сайта в результатах поиска. Внимательная проверка наличия и правильного использования метатега canonical поможет улучшить SEO-показатели вашего сайта.
  2. Обсуждение Публичного договора на предоставление агентских и информационных услуг. В виду того, что практически все договора однотипные, ниже предлагается его обсуждение, Возможно вы хотите предложить какие то поправки или заметите какие ошибки. Размещён тут P.S. Готовим договор для самозанятых.
  3. content bot

    Публичный договор

    Публичный договор на агентские и информационные услуги - OpenCart Club Публичный договор №_______ От __ _______ 202_ г. Индивидуальный предприниматель ФИО___ или ООО наименование ____ зарегистрирован\но и ведет свою деятельность в соответствии с действующим законодательством Российской Федерации, ИНН: _______, ОГРНИП: ________, ОГРН:_____ именуемый\мое в дальнейшем Принципал, с одной стороны, и OpenCart club, которое основано и ведет свою деятельность в соответствии с действующими законами Российской Федерации, в лице Индивидуального Предпринимателя Белова Константина Альбертовича, ИНН: 771990539875, ОГРНИП: 312774620500248 именуемый в дальнейшем - «Агент», с другой стороны, вместе именуемые - «Стороны», а каждый отдельно - «Сторона», заключили настоящий агентский договор № _____ от ___ ___ 202_ г. (далее — Договор) о нижеследующем: ОПРЕДЕЛЕНИЯ Агент - посредник между принципалом и конечным потребителем продукции, не являющийся её владельцем. Продает часть или всю продукцию принципала (цены и условия поставки определяются принципалом), ищет потенциальных покупателей продукции, ведёт переговоры, помогает в оформлении и передачи продукта/товара. Принципал - физическое или юридическое лицо, уполномочивающее другое лицо действовать в качестве агента. Личный кабинет - веб-страница Сайта OpenCart.club, доступ к которой Принципал осуществляет с помощью личных идентификаторов доступа (логин, пароль) и, с помощью которой Принципал может управлять своими действиями на Сайте OpenCart.club способами доступными из контекстных меню на Сайте, в том числе, но не ограничиваясь устанавливать условия Лицензии и загружать программное обеспечение (далее - ПО). Сайт - совокупность веб-страниц, доступ к которым осуществляется с использованием доменного имени (адреса) https://opencart.club/ вместе со всеми страницами, субдоменами и программным обеспечением. Лицензия - лицензионный договор, содержащий условия предоставления Покупателю права на использование ПО Принципала. Покупатель - пользователь Сайта OpenCart.club, который желает приобрести ПО, которое загружено Принципалом на Сайт на условиях этого Договора. Программное обеспечение - набор инструкций в виде слов, цифр, кодов, схем, символов или в любом другом виде, выраженном в форме, пригодной для считывания компьютером, которые приводят его в действие для достижения результата; также включает исходный код. Платежная система - третье лицо, являющееся финансовым учреждением, которое предоставляет возможность совершать денежные переводы для обеспечения расчётов между Покупателем и Разработчиком. Разработчик - статус, который получает Принципал, при условии реализации лицензий на Программное обеспечение на Сайте OpenCart.club. Разработчик он же Автор ПО гарантирует, что размещая свое Программное обеспечение на других ресурсах, устанавливает одинаковую стоимость на ПО. Фрилансер - статус, который может получить Принципал, при условии предоставления услуг на разработку и\или доработку Программного обеспечения исключительно на Сайте заказчика\покупателя или прочих услуг по сайту. Публичный договор - Публичный договор на агентские и информационные услуги - договор размещенный по на текущей странице; включая Условия соглашения, Политика конфиденциальности, Ценовая политика, Условия скачивания и покупки дополнений, Информация по оплате, Условия для Разработчиков, Лицензионное соглашение. 1. ПРЕДМЕТ ДОГОВОРА 1.1. Принципал поручает, а Агент принимает на себя обязательство осуществлять от имени и за счет Принципала поиск Покупателей и заключать с Покупателями лицензионные договоры от имени и в интересах Принципала через Сайт OpenCart club. За выполнение указанного поручения Принципал выплачивает Агенту вознаграждение в соответствии с условиями настоящего Договора. 1.2. В рамках предоставления Агентом агентских услуг, правоотношения сторон устанавливаются исходя из положений ГК РФ Статьи 1005 об Агентском договоре, принимая во внимание, установленное в п.1.4. данного Договора. В случае возникновения разночтений между положениями договора и указанным законом стороны квалифицируют свои действия исходя из положений закона. 1.3. Поручение считается выполненным с момента получения денежных средств Принципалом по заключенному лицензионному договору хотя бы с одним Покупателем. 1.4. Агент предоставляет Услуги исходя из Закона Российской Федерации N 161- ФЗ "О национальной платежной системе". При этом Агент, может действовать в качестве хозяйственного представителя, но не является финансовым посредником в понимании вышеуказанного закона. 2. ПРАВА И ОБЯЗАННОСТИ СТОРОН 2.1. Агент обязуется: 2.1.1. В соответствии с поручением Принципала осуществлять поиск потенциальных Покупателей с целью заключения лицензионных договоров с Принципалом и заключать такие договоры от его имени. 2.1.2. Предоставить Принципалу доступ к Личному кабинету. Информация, содержащаяся в Личном кабинете, будет являться подтверждением объема, в котором Агент выполнил поручение Принципала. 2.1.3. Принимать на свой счет денежные средства Покупателей и перечислять их Принципалу не позднее 10 (десятого) числа каждого месяца за предыдущий месяц по реквизитам, указанным в настоящем Договоре. Поступившие денежные средства от Покупателей перечисляются Агентом Принципалу за вычетом агентского вознаграждения и расходов, связанных с исполнением своих обязательств по Договору и определяемых в порядке согласно п. 2.1.4. Договора. 2.1.4. Стороны договорились, что размер расходов, связанных с исполнением Договора, не может превышать 15 % от доходов Принципала, определяемых в соответствии с п. 3.3 Договора. 2.1.5. Предоставить Принципалу отчет в течение 7 (семи) дней после дня окончания календарного месяца на адрес электронной почты Принципала, указанный в настоящем Договоре, 2.1.6. Полученное вознаграждение за Агентские услуги в размере 15% использовать исключительно на поддержку, развитие и продвижение сообщества и маркетплейса OpenCart club, и опенкарт в целом. 2.2. Принципал обязуется: 2.2.1. Предоставить Агенту необходимые для выполнения настоящего поручения достоверные сведения об условиях лицензионного договора, заключаемого с клиентами Принципала, путем заполнения соответствующих форм на Сайте OpenCart.club при загрузке ПО на Сайт OpenCart.club. Условия лицензионного договора, предоставляемые Принципалом, должны содержать срок, условия использования ПО, стоимость. 2.2.2. Предоставить всю необходимую информацию и документацию на ПО, а также все необходимые инструкции для Покупателей и условия получения ключа, если это необходимо. 2.2.3. Обеспечить безопасность передаваемого Покупателям ПО. 2.3.4. Соблюдать условия GPLv3 при распространении ПО, если это необходимо. 2.2.5. В случае невозможности предоставления ПО или обнаружения каких-либо неполадок в ранее загруженном на Сайт ПО, уведомить об этом Агента, как только Принципалу станет известно о таких обстоятельствах. 2.2.6. В случае необходимости предоставления Покупателям ключа, предоставить такой ключ на условиях, которые были указаны Принципалом при размещении ПО на Сайте, но не позднее, чем в течение 96 часов после обращения Покупателя за ключом, если Принципал не указал иные условия. 2.2.7. Самостоятельно нести ответственность перед Покупателями за качество и безопасность ПО. 2.2.8. Предоставлять Агенту пояснения или дополнительные материалы в случае обращения к Агенту Покупателей претензиями относительно качества ПО Принципала. 2.2.9. В течении срока поддержки Объекта, реагировать на запросы Покупателей о поддержке в течении 96 часов с момента получения такого запроса. 2.2.10. Выплатить Агенту вознаграждение в размере определенном в п. 3.1 настоящего Договора. 2.2.11. Нести за свой счет расходы, связанные с исполнением Агентом поручения Припципала в размере, установленном п. 2.1.4. Договора. 2.2.12. Не размещать на Сайте рекламные материалы или сторонние ссылки без разрешения Агента. 2.2.13. Вежливо и уважительно общаться с пользователями Сайта при любых обстоятельствах. 2.2.14. В случае, если вследствие нарушения Принципалом условий данного Договора или Лицензий, реализуемых Агентом, Агент понесет какие-либо убытки - компенсировать Агенту такие убытки в полном объеме. 2.2.15. Принять от Агента все исполненное им по настоящему Договору. 2.3. Агент имеет право: 2.3.1. В случае нарушения Принципалом п. 2.2.9., по своему усмотрению, осуществить возврат средств Покупателю, при условии, что средства за Лицензию на данный Объект еще не были перечислены Принципалу, а также снять все Лицензии на Объекты с продажи и/или расторгнуть данный Договор в одностороннем порядке. 2.3.2. Расторгнуть данный Договор в любое время, уведомив Принципала. В таком случае выплата осуществляется по запросу Принципала. 2.3.3. Удалять с Сайта любую информацию, сторонние ссылки, останавливать или прекращать продажу Лицензий на Объекты ПО. 2.4. Принципалу запрещено: 2.4.1. Нарушать условия реагирования или несвоевременно оказывать \ реагировать на запросы Покупателей о поддержке Программного обеспечения, что, в том числе, но не исключительно проявляется в получении Агентом большого количества запросов на возврат средств от Покупателей. Для целей этого подпункта, “большое количество запросов” означает получение Агентом 3 (трех) и больше запросов на возврат средств от Покупателей в течении одной рабочей недели по причине нарушения Принципалом условий поддержки Программного обеспечения; 2.4.2. Составлять такое описание Лицензии на соответствующей веб-странице конкретного Программного обеспечения на Сайте, которое содержит заведомо ложную информацию о Программном обеспечении или такую информацию о Программном обеспечении, которую невозможно проверить. Агент на свое собственное усмотрение оценивает ложность и невозможность проверки той или иной информации в описании Лицензии на соответствующей веб-странице конкретного Программного обеспечения на Сайте; 2.4.3. За исключением наличия форс-мажорных обстоятельств, не отвечать на обращения представителя Агента дольше 96 (девяноста шести) часов, в случае обнаружения Агентом небезопасности Программного обеспечения, в том числе, но не исключительно обнаружения проблемы в программном коде Программного обеспечения, которая может привести к сбоям в работе Сайта или любой другой веб-площадки; 2.4.4. Систематически (т.е. два и больше раза) неэтично, грубо, с нарушением условий этого Договора взаимодействовать с другими пользователями Сайта или Покупателями в рамках реагирования на запросы Покупателей о поддержке Программного обеспечения Принципала. 3. РАЗМЕРЫ ВОЗНАГРАЖДЕНИЯ И ПОРЯДОК ЕГО ВЫПЛАТЫ. 3.1. За исполнение поручения по настоящему Договору Принципал выплачивает Агенту вознаграждение. Агентское вознаграждения самостоятельно удерживается Агентом. Размер агентского вознаграждения составляет 15% от суммы дохода Принципала. 3.2. Определяемый по правилам п. 3.1 Договора размер агентского вознаграждения применяется Сторонами к расчетам в следующем за текущим календарном месяце. При этом, в первом месяце действия договора размер Агентского вознаграждения определяется исходя из суммы стоимости реализованных через Сайт Лицензий на ПО Принципала за период от даты подписания Договора до первого числа следующего календарного месяца. 3.3. Доходы Принципала, принимаемые во внимание при расчете Агентского вознаграждения, будут определяться как сумма поступивших от Покупателей средств. 3.4. Выплата вознаграждения будет производиться путем его удержания Агентом в момент перечисления им денежных средств Принципалу. 3.5. Принципал подает Агенту запросы на перечисление денежных средств, полученных Агентом от Покупателей, в любое время, но не более чем 2 (два) раза в течение 1 (одного) календарного месяца. Агент производит выплаты по мере обработки запросов, но не чаще чем раз в две недели. Агент производит выплату в течение 3 (трех) максимум 7 (семи) рабочих дней с момента получения соответствующего запроса от Принципала. 3.6. Агент может, в зависимости от выбора Принципала, производить выплаты путем перечисления денежных средств на расчетные счета Принципала в платежных системах или на банковскую карту МИР/VISA/MasterCard Принципала. 3.7. Агент может производить выплаты не только в российских рублях, но и в прочих валютах – в зависимости от выбора Принципала в случае, если это предоставляется возможным. Все расходы, связанные с конвертированием валют при перечислении денежных средств Принципалу, оплачиваются Принципалом и могут удерживаться Агентом с денежных средств, которые перечисляются Принципалу. Агент оставляет за собой право самостоятельно провести Принципалу выплату в российских рублях вне зависимости от валюты, которую Принципал указал в запросе на перечисление денежных средств как желаемую. 3.8. Запрос на выплату средств подается Принципалом через его Аккаунт, а в случае блокировки Аккаунта - с электронной почты, привязанной к его Аккаунту, на электронную почту: support@opencart.club 3.9. Агент не проводит выплату, если сумма средств, которая подлежит перечислению Принципалу, составляет меньше 2000,00 рублей, за исключением случаев расторжения данного Договора. 3.10. В случае, если сумма средств, которая запрашивается Принципалом к перечислению, составляет менее 5 000,00 рублей, все расходы по перечислению такой суммы несет Принципал. Комиссия банка или платежной системы удерживается Платежной системой из суммы, которая подлежит переводу. Принципал не может запросить перечисление средств, сумма которых в эквиваленте согласно официальному курсу Альфа Банка на дату подачи Принципалом запроса на перечисление средств, составляет меньше 100 долларов США. 3.11. В случае, если Принципал запрашивает перечисление средств в другой валюте, нежели в той, для которой у такого Принципала открыт платежный счет, на который Принципал запрашивает перечислить средства, конвертация таких средств при их перечислении производится в соответствии с официальным курсом Альфа Банка на дату подачи Принципалом запроса о перечислении таких средств. 3.12. Стороны согласовали, что реквизиты счета Принципала, на который осуществляется перечисление средств указываются в этом Договоре, но Стороны могут согласовать иные реквизиты путем направления электронных писем с указанных в п. 10.5. данного Договора электронных почт. 3.13. Стороны договорились, что за предоставление агентских услуг связанных с продажей Лицензий на Программное обеспечение в случае присвоения Принципалу статуса Разработчика\Фрилансера, Принципал выплачивает Агенту Агентское вознаграждение. Размер Агентского вознаграждения определяется вне зависимости от суммы Лицензионных Договоров, которые были заключены в 1 (одном) календарном месяце и составляет 15% от суммы заключенных Агентом договоров с Покупателями за 1 (один) календарный месяц. 3.14. В случае, если Агенту станет известно, что Принципал нарушил требования установленные в настоящем Договоре, то размер Агентского вознаграждения за предоставление агентских услуг, связанных с продажей Лицензий через Сайт, немедленно повышается до 30% от дохода с таких продаж за 1 (один) календарный месяц. В случае нарушения условий Разработчика\Фрилансера, Принципал не может вернуть себе прежние условия Агентских вознаграждений даже при устранении нарушений. 3.15. В случае изменения размера Агентского вознаграждения согласно п. 3.14., размер Агентского вознаграждения остается фиксированным в течение всего сотрудничества Агента и Принципала, и остается в размере 30% от дохода с продаж Лицензий на Программное Обеспечение через Сайт, не зависимо от суммы цен заключенных договоров с Покупателями. Стороны договорились, что в таком случае формулы п. 3.1 к расчету Агентского вознаграждения не применяются. 3.16. В случае первого нарушения Принципалом требований, предусмотренных пунктом 2.4. этого Договора, Агент имеет право вынести Принципалу письменное/устное предупреждение и объяснить последствия повторного или систематического нарушения таких требований. В случае повторного, а также систематического нарушения Принципалом требований, предусмотренных пунктом 2.4. этого Договора, размер Агентского вознаграждения в течении каждого из трех календарных месяцев, которые следуют за месяцем, в котором Принципал повторно нарушил вышеуказанные требования, будет составлять 50% от дохода с продаж лицензий Принципала через Сайт, в течении соответствующего месяца. 4. ГАРАНТИИ ПРИНЦИПАЛА 4.1. Принципал гарантирует что: 4.1.1. Права интеллектуальной собственности на ПО, которое реализуется в рамках данного Договора принадлежат Принципалу в необходимом объеме для предоставления Лицензии, в том числе для продажи интеллектуальных прав третьим лицам на условиях, установленных в такой Лицензии; 4.1.2. Принципал не нарушает какой-либо договор или другое свое обязательство, заключая данный Договор; 4.1.3. Предоставляемая Принципалом информация и информация о реквизитах платежных систем является достоверной и точной; 4.1.4. Принципал не будет загружать на Сайт ПО, содержащее вредоносный код или способное любым образом привести к нарушению функционирование Сайта, или нанести вред; 4.2. Принципал обязуется не устанавливать стоимость лицензии на Сайте выше, чем стоимость лицензий с аналогичными условиями на других веб-сайтах; 4.3. Принципал обязуется не размещать на Сайте сторонние ссылки, объявления о продаже своих услуг или иным образом использовать Сайт в рекламных целях. В том числе, но не ограничиваясь, Принципалу запрещено оформлять, заполнять Профиль или создавать темы с целью рекламы своих услуг или программного обеспечения, размещенного на сторонних сайтах, если с Агентом дополнительно не согласовано иное; 4.4. В случае нарушения Принципалом пп. 4.2., 4,3. Агент имеет право удалить такую информацию/Объект и/или расторгнуть данный Договор в одностороннем порядке, и/или удалить, или заблокировать Аккаунт Принципала; 4.5. Чтобы в случае необходимости Агент мог вовремя реагировать на запросы банков, платежных систем и соответствующих государственных органов, Агент может требовать, а Принципал обязуется предоставить дополнительные документы и сведения; 4.5.1. Агент может затребовать у Принципала документы, подтверждающие следующую информацию: имя, персональный идентификационный код или, если таковой отсутствует, дата и место рождения и место регистрации или размещения главного офиса Пользователя (или его представителя); название юридического лица, регистрационный код, дата регистрации, имя директора, участников правления или аналогичного органа, их полномочия на представление юридического лица, контакты юридического лица; цели хозяйственных отношений или разовой транзакции с указанием постоянного местопребывания, места ведения хозяйственной деятельности или резидентства; профессия или поле деятельности; происхождение денежных средств, использованных для транзакции; происхождение доходов Принципала, конечный бенефициар юридического лица; другая деятельность Принципала, не связанная с Сайтом, которая касается или может касаться уголовной деятельности, отмывания денег или финансирования терроризма; происхождение провайдера финансовых услуг и так далее. 5. ЛИЦЕНЗИЯ 5.1. Если иное не установлено Принципалом, срок Лицензии составляет 365 дней со дня активации Объекта. Срок поддержки Объектов Принципалом не превышает срок Лицензии. 5.2. Объект доступен Покупателям к скачиванию на Сайте в течении 365 дней со дня оплаты. Срок доступа к скачиванию на Сайте не зависит от срока действия Лицензии за исключением случаев, предусмотренных п. 5.5. 5.3. Если Принципал не указал детальные условия Лицензии на соответствующей веб-странице Объекта на Сайте то применяется общие условия Лицензии размещённые на Сайте OpenCart club по ссылке Лицензионное соглашение . 5.4. Принципал обязан придерживаться установленных им условий лицензий независимо от того продолжаются ли его взаимоотношения с Агентом. 5.5. Если действие Договора по каким-либо причинам прекращается, Аккаунт Принципала может быть частично ограничен или удален Агентом с Сайта по какой-либо причине, предусмотренной данным Договором, все Объекты, загруженные Принципалом на Сайт, также могут быть удалены. Все обязательства по предоставлению Объектов Покупателям, а также оказанию предусмотренной Лицензией поддержки в случае расторжения Договора между Агентом и Принципалом несет Принципал. 6. ОТВЕТСТВЕННОСТЬ СТОРОН 6.1. Агент не несет ответственности за качество ПО, которое реализуется в рамках данного Договора. Принципал обязуется реагировать на претензии Покупателей в течение 96 часов с момента их получения посредством Сайта OpenCart club или через обращение к Агенту. 6.2. Агент не несет ответственности за любой ущерб, причиненный Покупателям в связи с использованием ПО. 6.3. В случае получения жалоб или претензий со стороны Покупателей на ПО Принципала, Агент имеет право временно прекратить оказание услуг по данному Договору до выяснения обстоятельств или немедленно расторгнуть Договор, а также ограничить Принципалу доступ к Сайту. В таком случае ранее полученные от Покупателей денежные средства перечисляются Агентом Принципалу по правилам 3 Раздела данного Договора. 6.4. За неисполнение или ненадлежащее исполнение обязательств по настоящему Договору Стороны несут ответственность в соответствии с действующим законодательством Российской Федерации. 7. ФОРС-МАЖОР 7.1. Ни одна из Сторон настоящего Договора не несет ответственности перед другой Стороной за невыполнение обязательств, обусловленное обстоятельствами непреодолимой силы, возникшими помимо воли и желания сторон, которые нельзя предвидеть или избежать, включая объявленную или фактическую войну, гражданские волнения, эпидемии, блокаду, землетрясения, наводнения, пожары и другие стихийные бедствия. 7.2. Документ, выданный соответствующим компетентным органом, является достаточным подтверждением наличия и продолжительности действия обстоятельств непреодолимой силы. 7.3. Сторона, которая не исполняет своего обязательства вследствие действия обстоятельств непреодолимой силы, должна немедленно известить другую Сторону о препятствии и его влиянии на исполнение обязательств по Договору. 8. ПОРЯДОК РАЗРЕШЕНИЯ СПОРОВ 8.1. Все споры и разногласия между Сторонами, возникающие в период действия настоящего Договора, разрешаются Сторонами путем переговоров. Переговоры являются приоритетным способом разрешения конфликтных ситуаций. 8.2. В случае невозможности разрешения разногласий путем переговоров, споры подлежат разрешению в соответствии с законодательством Российской Федерации. 9. СРОК ДЕЙСТВИЯ ДОГОВОРА. ПОРЯДОК ИЗМЕНЕНИЯ УСЛОВИЙ И ПРЕКРАЩЕНИЯ ДОГОВОРА 9.1. Общий срок предоставления услуг по настоящему Договору с __.__.202_ года по __.__.202_ г. включительно. 9.2. Настоящий Договор может быть изменен или прекращен по взаимному письменному соглашению сторон, а также в других случаях, предусмотренных законодательством. 9.3. Принципал вправе в любое время отказаться от исполнения настоящего Договора путем направления уведомления Агенту на электронную почту за 7 (семь) дней до предполагаемой даты расторжения договора. Если Принципал отказался от настоящего Договора, Агент сохраняет право на вознаграждение за услуги, оказанные им до прекращения Договора, на возмещение понесенных до этого момента расходов. Принципал в любом случае не может отказаться от своих обязательств по заключенным агентом лицензионным договорам. 9.4. Агент вправе в любое время отказаться от исполнения настоящего Договора путем направления уведомления Принципалу на электронную почту за 7 (семь) дней до предполагаемой даты расторжения договора. Агент, отказавшийся от настоящего Договора, сохраняет право на вознаграждение за услуги, оказанные им до прекращения Договора, а также на возмещение понесенных до этого момента расходов. 9.5. Агент вправе в любое время отказаться от исполнения настоящего Договора, в случае нарушения Принципалом условий данного Договора, путем направления уведомления Принципалу на электронную почту. 10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ 10.1. Стороны заверяют друг друга, что действуют в полном соответствии с законодательством своих стран, в отношении них не возбуждено дела (и не было подано соответствующего заявления) о признании несостоятельным (банкротом), не принималось решения о ликвидации и (или) приостановлении деятельности. 10.2. Во всем остальном, что не предусмотрено настоящим Договором, стороны руководствуются действующим законодательством Российской Федерации. 10.3. Любые изменения и дополнения к настоящему Договору действительны при условии, если они совершены в письменной форме и подписаны Сторонами или уполномоченными на то представителями Сторон. 10.4. Все уведомления и сообщения в рамках настоящего Договора должны направляться Сторонами друг другу в письменной или электронной форме по реквизитам, указанным в данном Договоре. 10.5. Стороны согласовали, что надлежащим предоставлением информации, а также документов, в рамках настоящего Договора, будут электронные письма с адресов Принципала и Агента направлены друг другу, в частности: Электронный адрес Агента: ______ Электронный адрес Принципала: _____ 10.6. Настоящий Договор составлен в двух экземплярах, имеющих одинаковую юридическую силу, по одному экземпляру для каждой из Сторон. 10.7. Настоящий Договор и его Приложения (если есть) составляют единый договор между Сторонами и регулируют все обещания, гарантии, заверения, условия, понимания и договоренности между Сторонами по предмету настоящего Договора. 10.8. Если какое-либо положение настоящего Договора будет признано любым судом или компетентным органом недействительным полностью или. частично, настоящий Договор продолжит быть действующим в части пунктов, не признаны недействительными. 11. АДРЕСА, РЕКВИЗИТЫ, ПОДПИСИ СТОРОН ПРИНЦИПАЛ ИП ФИО полностью\ ООО наименование полностью ИНН: __ ОГРНИП: __ ОГРН: ___ Банковские реквизиты: Расчетный счет: _ Банк __ БИК: __ SWIFT: __ Корр. счет __ ________________________________ . _ . _ . АГЕНТ Индивидуальный предприниматель Белов Константин Альбертович ИНН: 771990539875 ОГРНИП: 312774520500248 Банковские реквизиты: Расчетный счет: 40802810502160002707 Банк АО «АЛЬФА-БАНК» БИК: 044525593 SWIFT: ALFARUMM Корр. счет 0101810200000000593 __________________________________Белов К.А. ____________________________________________________________________________________________
  4. content bot

    Реквизиты

    Реквизиты: ИП - Белов Константин Альбертович ИНН: 771990539875 ОГРН: 312774620500248 Банковские реквизиты: Расчетный счет 40802810502160002707 Банк АО «АЛЬФА-БАНК» БИК 044525593 Корр. счет 0101810200000000593 Главный администратор OpenCart.club ИП - Белов Константин Альбертович Уважаемые коллеги! Сообщество OpenCart club создано исключительно для поддержки разработчиков и нацелено на совместное принятие участия в развитии опенкарт и расширений. Вся доходная часть (комиссия 15%) с продаж дополнений на маркетплейсе OpenCart club, уходит исключительно на поддержку, развитие и продвижение данного сообщества, и опенкарт в целом, а так-же ваших расширений.
  5. Уточняйте все интересующие вас вопросы перед покупкой и/или загрузкой ПО на Площадке OpenCart.Club непосредственно у Разработчиков и Авторов ПО в соответствующих ПО темах технической поддержки на форуме, а также внимательно читайте описание к ПО и условия Лицензии, если таковая имеется. Подробнее о Лицензионном Соглашении. Торговая площадка OpenCart Club содержит файлы ПО, загруженные третьими лицами, их Разработчиками и Авторами. Платформа OpenCart Club предоставляет торговую площадку для удобства клиентов. Расширения, дополнения, модули, шаблоны для OpenCart и сборок на его основе могут поддерживаться или не поддерживаться по усмотрению автора. Расширения, дополнения, модули и шаблоны могут работать или не работать для конкретной версии программного обеспечения, могут содержать недостатки или дефекты и могут не работать так, как рекламируется. Если у вас как у клиента, нет необходимых навыков загрузки и установки ПО на ваш сайт, то лучше будет вам обратиться за помощью на форум в соответствующие разделы или воспользоваться платными услугами в разделе Услуги на Платформе OpenCart.Club. В ином случае, Администрация Платформы OpenCart Club не дает никаких гарантий на пригодность ресурсов, загруженных с данной торговой площадки. Любая оплата перечисляется автору опубликованного материала, за вычетом комиссии торговой площадки. Администрация OpenCart Club не обеспечивает техническую поддержку файлов, купленных и/или загруженных с торговой площадки OpenCart Club. Для получения технической поддержки, свяжитесь с автором по любым вопросам, связанным с вашей покупкой для оказания вам технической поддержки в соответствии с лицензионным соглашением. Если же вы исчерпали все методы, вы можете оставить заявку в разделе Тех Поддержка Форума OpenCart Club, чтобы можно было рассмотреть вашу проблему. Все продажи на торговой площадке OpenCart.Club окончательные. Любые запросы по возврату денежных средств за приобретённое ПО должны быть утверждены автором ПО, без исключений. По результатам рассмотрения спора ваш аккаунт может быть частично ограничен. Если вы не принимаете эти условия, то лучше откажитесь от приобретения ПО! Неотъемлемой частью настоящей Политики являются: Условия соглашения. Политика конфиденциальности. Лицензионное соглашение. Публичный договор Информация по оплате Условия для разработчиков Ценовая политика Реквизиты При возникновении вопросов вы можете обратиться в службу поддержки OpenCart.Club.
  6. Партнёрство с OpenCart Club Рекомендуйте покупку расширений и услуг с платформы OpenCart Club своим клиентам и зарабатывайте. Продвигайте расширения, модули, шаблоны и услуги зарабатывая совместно с OpenCart Club. Условия партнерской программы OpenCart Club Партнерские условия 5% с комиссии предполагают, что вы будете предлагать к покупке, продвигать или рекламировать определенное расширение ПО, модули, шаблоны или услугу, и получать процент от каждой продажи, которая была сделана через вашу уникальную партнерскую ссылку. Допустим, вы являетесь партнером OpenCart Club и рекламируете определенный модуль или шаблон. Каждый раз, когда кто-то переходит на сайт OpenCart Club по вашей партнерской ссылке и совершает покупку, вы получаете 5% от суммы комиссии в качестве вознаграждения с привлечённого клиента. Партнерские условия OpenCart Club предусматривают вознаграждение в размере 5% с комиссии, это означает, что вы будете получать 5% от суммы комиссии, которую получает OpenCart Club за каждую продажу расширений ПО, модулей, шаблонов и услуг, совершенную по вашей партнерской ссылке. Таким образом, чем больше продаж будет сделано через вашу партнерскую ссылку, тем больше будет ваше вознаграждение. Это выгодная возможность для тех, кто хочет зарабатывать дополнительные средства на площадке OpenCart Club, используя свои навыки в продвижении дополнений и услуг. Вывод средств Вывод накопленных средств по партнерской программе: Средства накопленные по партнерской программе вы можете видеть на счёте своего аккаунта. Выплата средств Партнёру производится по запросу, заранее согласованным методом (перечисление на расчетный счет или на карту), но не чаще, чем 2 раза в месяц после 15 и\или 30-31 числа в течении последующих нескольких дней, с учётом выходных и праздничных дней. Для уточнения метода проведения выплаты партнёру следует оставить соответствующий запрос в службу поддержки OpenCart.Club. Запрос на выплату обрабатывается в течение 2 рабочих дней, либо позже, но не позднее, чем через 10 банковских рабочих дней. Минимальная сумма к выплате составляет 2000 рублей, кроме случаев, когда Партнёр удаляет свой Аккаунт с Площадки OpenCart.Club и выводит остаток средств со своего счета. В случае, если сумма средств, которая запрашивается Партнёром к перечислению, составляет менее 5000 рублей, все расходы по перечислению такой суммы несет Партнёр. Партнёр имеет возможность, не выводя заработанные средства, совершать ими со своего внутреннего счета на платформе OpenCart.Club оплату Дополнений и услуг других Разработчиков. Советуем вам предлагать своим клиентам и заказчикам регистрироваться на платформе и предлагать им приобретать дополнения самостоятельно. Так же использовать для этих целей альтернативные контакты - через которые ваши клиенты могут подключить вас к своим аккаунтам. Так же при открытии счёта в Альфа Банке по этой ссылке https://alfabank.ru/sme/abp-referral/?platformId=dvTgBS , вы получите 2 000 рублей бонусами, которые вы сможете использовать для ежемесячных расходов по выбранному вами тарифу, плюс нам и вам будет намного проще и удобнее с выводами ваших средств вам на счёт в Альфа Банке.
  7. content bot

    MVC - Model-View-Controller

    Model-View-Controller (MVC, «Модель-Представление-Контроллер», «Модель-Вид-Контроллер») — схема разделения данных приложения и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо. MVC Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя своё состояние. Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели. Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений. Основная цель применения этой концепции состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). За счёт такого разделения повышается возможность повторного использования кода. Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения. В частности, выполняются следующие задачи: К одной модели можно присоединить несколько видов, при этом не затрагивая реализацию модели. Например, некоторые данные могут быть одновременно представлены в виде электронной таблицы, гистограммы и круговой диаграммы; Не затрагивая реализацию видов, можно изменить реакции на действия пользователя (нажатие мышью на кнопке, ввод данных) — для этого достаточно использовать другой контроллер; Ряд разработчиков специализируется только в одной из областей: либо разрабатывают графический интерфейс, либо разрабатывают бизнес-логику. Поэтому возможно добиться того, что программисты, занимающиеся разработкой бизнес-логики (модели), вообще не будут осведомлены о том, какое представление будет использоваться. Концепция MVC позволяет разделить модель, представление и контроллер на три отдельных компонента: Модель Модель предоставляет данные и методы работы с ними: запросы в базу данных, проверка на корректность. Модель не зависит от представления (не знает как данные визуализировать) и контроллера (не имеет точек взаимодействия с пользователем), просто предоставляя доступ к данным и управлению ими. Модель строится таким образом, чтобы отвечать на запросы, изменяя своё состояние, при этом может быть встроено уведомление «наблюдателей». Модель, за счёт независимости от визуального представления, может иметь несколько различных представлений для одной «модели» Представление Представление отвечает за получение необходимых данных из модели и отправляет их пользователю. Представление не обрабатывает введённые данные пользователя. Контроллер Контроллер обеспечивает «связь» между пользователем и системой. Контролирует и направляет данные от пользователя к системе и наоборот. Использует модель и представление для реализации необходимого действия. Источник: wikipedia .
  8. content bot

    Bootstrap

    Bootstrap (также известен как Twitter Bootstrap) — свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, веб форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейса, включая JavaScript расширения. Bootstrap использует современные наработки в области CSS и HTML, поэтому необходимо быть внимательным при поддержке старых браузеров. Основные инструменты Bootstrap: Сетки — заранее заданные размеры колонок, которые можно сразу использовать, например, ширина колонки 140 px относится к классу .span2 (.col-md-2 в третьей версии фреймворка), который можно использовать в CSS-описании документа. Шаблоны — фиксированный или резиновый шаблон документа. Типографика — описания шрифтов, определение некоторых классов для шрифтов, таких как код, цитаты и т. п. Медиа — предоставляет некоторое управление изображениями и видео. Таблицы — средства оформления таблиц, вплоть до добавления функциональности сортировки. Формы — классы для оформления форм и некоторых событий, происходящих с ними. Навигация — классы оформления для панелей, вкладок, перехода по страницам, меню и панели инструментов. Алерты — оформление диалоговых окон, подсказок и всплывающих окон. 5 мая 2021 года был официально выпущен Bootstrap 5 Основные изменения включают: Новый компонент меню offcanvas. Удаление зависимости от jQuery в пользу ванильного JavaScript. Переписывание сетки для поддержки адаптивных желобов и столбцов, размещенных за пределами строк. Перенос документации с Jekyll на Hugo. Прекращение поддержки Internet Explorer[19]. Перенос инфраструктуры тестирования с QUnit на Jasmine. Добавление собственного набора иконок SVG. Добавление пользовательских свойств CSS. Улучшенный API. Усовершенствованная система сетки. Улучшенная настройка документов. Обновленные формы. RTL-поддержка Источник: wikipedia .
  9. content bot

    ЧПУ - URL

    Человекопонятный URL - ЧПУ Человекопонятный URL (сокр. ЧПУ, также семантический URL, англ. friendly URL) — URL-путь, состоящий из понятных слов, вместо идентификаторов, и отражающий файловую структуру сайта. Например, вместо /c14/3/97/ или /index.php?cat=10&subcat=2&id=41 используется /apple/smartphone/iphone-14-pro/. Человекопонятные пути улучшают удобство использования, кроме того, позволяют по названию ссылки заранее предполагать содержимое страницы по ней и представлять структуру сайта. Технически URL может содержать только буквы латинского алфавита и некоторые символы. Все другие символы, включая русские буквы, кодируются (percent‐encoding) и могут выглядеть вроде %D0%9B%D1%83%D0%BA. Поэтому обычно в адресах используют латиницу, чтобы избегать осложнений для пользователей «Понятные человеку URL» предполагают сокращение адресов страниц до максимально лаконичных и понятных. Они создают подобие естественной для человека логической структуры данных на сервере, представляя её в виде иерархичной (древовидной) структуры, аналогично файловой системе. Такие адреса удобней прочитать, понять и воспроизвести. К тому же это помогает ориентироваться в логической структуре сайта, лишь взглянув на вложенность каталогов. Не обязательно переходить на страницу, чтобы узнать, что на ней размещено. В некоторых случаях для того, чтобы пройти на родительские каталоги, необходимо всего лишь стереть до нужного места адрес, а чтобы перейти на главную страницу, стирается всё, кроме доменного имени. Такие адреса демонстрируются поисковыми системами прямо в поисковой выдаче, в том числе по этим адресам происходит поиск ключевых слов. ЧПУ используют в методах поисковой оптимизации (SEO). Источник: wikipedia .
  10. content bot

    Доме́нное имя

    Доме́нное имя — символьное имя, служащее для идентификации областей, которые являются единицами административной автономии в сети Интернет, в составе вышестоящей по иерархии такой области. Каждая из таких областей называется доме́ном. Общее пространство имён Интернета функционирует благодаря DNS — системе доменных имён. Доменные имена дают возможность адресации интернет-узлов и расположенным на них сетевым ресурсам (веб-сайтам, серверам электронной почты, другим службам) быть представленными в удобной для человека форме. Источник: wikipedia .
  11. Безопасность для вашего интернет магазина на OpenCart Перед тем как приступить к созданию интернет магазина, стоит учесть несколько факторов. Мошенничество opencartforum.com больше не поддерживает Российские и Беларусские домены и сайты, а также разработчиков с РФ и РБ, в связи с последними событиями. Советуем обходить стороной этот ресурс и все, что связаны с ними ресурсы. Учитывая то, что они делают с сайтами из РФ и РБ их действия смело можно отнести к мошенническим. Раздел на форуме: О пиратах, варезе и мошенниках в среде OpenCart Варез - Nulled На сегодняшний день полно ресурсов, предлагающих различные услуги по OpenCart, и подавляющая их часть откровенно вредоносного характера. Мошенники распространяют чужое программное обеспечение на варезных ресурсах, как бесплатно, так и платно (обычно по очень заманчивым ценам). При этом они внедряют в программное обеспечение ( ПО) заведомо вредоносный код. Скачивая или покупая на подобных ресурсах расширения, вы подвергаете риску не только свои сайты и средства, но и данные всех своих покупателей, т.к. через различного рода внедренные в нелегальное программное обеспечение уязвимости мошенники получают полный доступ и к их персональным данным. Мало того, что нелегальное ПО содержит вирусы, шэлы и прочие дыры, так эти "умельцы" ещё туда впихивают майнеры и скрипты подмены реквизитов. Скрипты подмены реквизитов заменяют данные по оплате для ваших покупателей, в результате чего получается такая ситуация, когда заказ покупателем оплачен и у вас он числится также оплаченным, а деньги при этом получает мошенник. В итоге покупатель заплатил и ждёт товар, а вы оказываетесь без денег и без товара, т.к. покупатель не виноват, что вы пустили мошенников на сайт. Подобные случаи, к сожалению, встречаются нередко. К слову, такими ресурсами не брезгуют и многие "веб-разработчики" и "веб-мастера". Если вы делегировали полномочия на покупку модулей исполнителю при создании сайтов и дополнений, то требуйте от них подтверждения происхождения скачанных или приобретенных ими модулей и дополнений для OpenCart! В обязательном порядке свяжитесь с авторами этих дополнений для уточнения информации, а лучше всего сами приобретайте необходимое непосредственно у автора на легальных ресурсах, где свои услуги предоставляют множество разработчиков! Так вы будете более, чем уверены, что приобретаете или скачиваете качественное и чистое от всяких вшитых дыр дополнение. Помните, что избежать таких эксцессов можно только одним способом - приобретать и\или скачивать необходимые вам расширения только на легальных ресурсах! На таких площадках всё открыто и справедливо, без цензуры, у авторов нет возможности удалить неугодные отзывы, если они соответствуют действительности! Ссылки по теме Подробнее об Использовании вареза и его последствий для конечного пользователя opencart!
  12. content bot

    .htaccess

    Стандартные конфигурации HTTP-сервера Apache .htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера. Директивы файла .htaccess действуют для каталога, в котором размещён такой файл, и для всех его подкаталогов. Если вы желаете с помощью .htaccess изменить настройки для сайта в целом, его следует размещать в корневом каталоге сайта ~/ваш_домен/docs. Будьте внимательны при редактировании файла .htaccess! так как при сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов рекомендуем использовать не специальные текстовые редакторы, к примеру Notepad++. # ###################################################################### # # CROSS-ORIGIN # # ###################################################################### # ---------------------------------------------------------------------- # | Cross-origin requests | # ---------------------------------------------------------------------- # Allow cross-origin requests. # # https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS # http://enable-cors.org/ # http://www.w3.org/TR/cors/ # <IfModule mod_headers.c> # Header set Access-Control-Allow-Origin "*" # </IfModule> # ---------------------------------------------------------------------- # | Cross-origin images | # ---------------------------------------------------------------------- # Send the CORS header for images when browsers request it. # # https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image # https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html <IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule> # ---------------------------------------------------------------------- # | Cross-origin web fonts | # ---------------------------------------------------------------------- # Allow cross-origin access to web fonts. <IfModule mod_headers.c> <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule> # ---------------------------------------------------------------------- # | Cross-origin resource timing | # ---------------------------------------------------------------------- # Allow cross-origin access to the timing information for all resources. # # If a resource isn't served with a `Timing-Allow-Origin` header that # would allow its timing information to be shared with the document, # some of the attributes of the `PerformanceResourceTiming` object will # be set to zero. # # http://www.w3.org/TR/resource-timing/ # http://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/ # <IfModule mod_headers.c> # Header set Timing-Allow-Origin: "*" # </IfModule> # ###################################################################### # # ERRORS # # ###################################################################### # ---------------------------------------------------------------------- # | Custom error messages/pages | # ---------------------------------------------------------------------- # Customize what Apache returns to the client in case of an error. # https://httpd.apache.org/docs/current/mod/core.html#errordocument ErrorDocument 404 /404.html # ---------------------------------------------------------------------- # | Error prevention | # ---------------------------------------------------------------------- # Disable the pattern matching based on filenames. # # This setting prevents Apache from returning a 404 error as the result # of a rewrite when the directory with the same name does not exist. # # https://httpd.apache.org/docs/current/content-negotiation.html#multiviews Options -MultiViews # ###################################################################### # # INTERNET EXPLORER # # ###################################################################### # ---------------------------------------------------------------------- # | Document modes | # ---------------------------------------------------------------------- # Force Internet Explorer 8/9/10 to render pages in the highest mode # available in the various cases when it may not. # # https://hsivonen.fi/doctype/#ie8 # # (!) Starting with Internet Explorer 11, document modes are deprecated. # If your business still relies on older web apps and services that were # designed for older versions of Internet Explorer, you might want to # consider enabling `Enterprise Mode` throughout your company. # # http://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#docmode # http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx <IfModule mod_headers.c> Header set X-UA-Compatible "IE=edge" # `mod_headers` cannot match based on the content-type, however, # the `X-UA-Compatible` response header should be send only for # HTML documents and not for the other resources. <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$"> Header unset X-UA-Compatible </FilesMatch> </IfModule> # ---------------------------------------------------------------------- # | Iframes cookies | # ---------------------------------------------------------------------- # Allow cookies to be set from iframes in Internet Explorer. # # http://msdn.microsoft.com/en-us/library/ms537343.aspx # http://www.w3.org/TR/2000/CR-P3P-20001215/ # <IfModule mod_headers.c> # Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" # </IfModule> # ###################################################################### # # MEDIA TYPES AND CHARACTER ENCODINGS # # ###################################################################### # ---------------------------------------------------------------------- # | Media types | # ---------------------------------------------------------------------- # Serve resources with the proper media types (f.k.a. MIME types). # # https://www.iana.org/assignments/media-types/media-types.xhtml # https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype <IfModule mod_mime.c> # Data interchange AddType application/json json map topojson AddType application/ld+json jsonld AddType application/vnd.geo+json geojson AddType application/xml atom rdf rss xml # JavaScript # Normalize to standard type. # https://tools.ietf.org/html/rfc4329#section-7.2 AddType application/javascript js # Manifest files # If you are providing a web application manifest file (see # the specification: https://w3c.github.io/manifest/), it is # recommended that you serve it with the `application/manifest+json` # media type. # # Because the web application manifest file doesn't have its # own unique file extension, you can set its media type either # by matching: # # 1) the exact location of the file (this can be done using a # directive such as `<Location>`, but it will NOT work in # the `.htaccess` file, so you will have to do it in the main # server configuration file or inside of a `<VirtualHost>` # container) # # e.g.: # # <Location "/.well-known/manifest.json"> # AddType application/manifest+json json # </Location> # # 2) the filename (this can be problematic as you will need to # ensure that you don't have any other file with the same name # as the one you gave to your web application manifest file) # # e.g.: # # <Files "manifest.json"> # AddType application/manifest+json json # </Files> AddType application/x-web-app-manifest+json webapp AddType text/cache-manifest appcache manifest # Media files AddType audio/mp4 f4a f4b m4a AddType audio/ogg oga ogg opus AddType image/bmp bmp AddType image/webp webp AddType video/mp4 f4v f4p m4v mp4 AddType video/ogg ogv AddType video/webm webm AddType video/x-flv flv AddType image/svg+xml svg svgz # Serving `.ico` image files with a different media type # prevents Internet Explorer from displaying then as images: # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee AddType image/x-icon cur ico # Web fonts AddType application/font-woff woff AddType application/font-woff2 woff2 AddType application/vnd.ms-fontobject eot # Browsers usually ignore the font media types and simply sniff # the bytes to figure out the font type. # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern'>https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern # # However, Blink and WebKit based browsers will show a warning # in the console if the following font types are served with any # other media types. AddType application/x-font-ttf ttc ttf AddType font/opentype otf # Other AddType application/octet-stream safariextz AddType application/x-bb-appworld bbaw AddType application/x-chrome-extension crx AddType application/x-opera-extension oex AddType application/x-xpinstall xpi AddType text/vcard vcard vcf AddType text/vnd.rim.location.xloc xloc AddType text/vtt vtt AddType text/x-component htc </IfModule> # ---------------------------------------------------------------------- # | Character encodings | # ---------------------------------------------------------------------- # Serve all resources labeled as `text/html` or `text/plain` # with the media type `charset` parameter set to `UTF-8`. # # https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset AddDefaultCharset utf-8 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Serve the following file types with the media type `charset` # parameter set to `UTF-8`. # # https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset <IfModule mod_mime.c> AddCharset utf-8 .atom \ .bbaw \ .css \ .geojson \ .js \ .json \ .jsonld \ .rdf \ .rss \ .topojson \ .vtt \ .webapp \ .xloc \ .xml </IfModule> # ###################################################################### # # REWRITES # # ###################################################################### # ---------------------------------------------------------------------- # | Rewrite engine | # ---------------------------------------------------------------------- # (1) Turn on the rewrite engine (this is necessary in order for # the `RewriteRule` directives to work). # # https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine # # (2) Enable the `FollowSymLinks` option if it isn't already. # # https://httpd.apache.org/docs/current/mod/core.html#options # # (3) If your web host doesn't allow the `FollowSymlinks` option, # you need to comment it out or remove it, and then uncomment # the `Options +SymLinksIfOwnerMatch` line (4), but be aware # of the performance impact. # # https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks # # (4) Some cloud hosting services will require you set `RewriteBase`. # # http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site # https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase # # (5) Depending on how your server is set up, you may also need to # use the `RewriteOptions` directive to enable some options for # the rewrite engine. # # https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions <IfModule mod_rewrite.c> # (1) RewriteEngine On # (2) Options +FollowSymlinks # (3) # Options +SymLinksIfOwnerMatch # (4) # RewriteBase / # (5) # RewriteOptions <options> </IfModule> # ---------------------------------------------------------------------- # | Forcing `https://` | # ---------------------------------------------------------------------- # Redirect from the `http://` to the `https://` version of the URL. # https://wiki.apache.org/httpd/RewriteHTTPToHTTPS # <IfModule mod_rewrite.c> # RewriteEngine On # RewriteCond %{HTTPS} !=on # RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] # </IfModule> # ---------------------------------------------------------------------- # | Suppressing / Forcing the `www.` at the beginning of URLs | # ---------------------------------------------------------------------- # The same content should never be available under two different # URLs, especially not with and without `www.` at the beginning. # This can cause SEO problems (duplicate content), and therefore, # you should choose one of the alternatives and redirect the other # one. # # By default `Option 1` (no `www.`) is activated. # http://no-www.org/faq.php?q=class_b # # If you would prefer to use `Option 2`, just comment out all the # lines from `Option 1` and uncomment the ones from `Option 2`. # # (!) NEVER USE BOTH RULES AT THE SAME TIME! # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Option 1: rewrite www.example.com → example.com <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] </IfModule> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Option 2: rewrite example.com → www.example.com # # Be aware that the following might not be a good idea if you use "real" # subdomains for certain parts of your website. # <IfModule mod_rewrite.c> # RewriteEngine On # RewriteCond %{HTTPS} !=on # RewriteCond %{HTTP_HOST} !^www\. [NC] # RewriteCond %{SERVER_ADDR} !=127.0.0.1 # RewriteCond %{SERVER_ADDR} !=::1 # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # </IfModule> # ###################################################################### # # SECURITY # # ###################################################################### # ---------------------------------------------------------------------- # | Clickjacking | # ---------------------------------------------------------------------- # Protect website against clickjacking. # # The example below sends the `X-Frame-Options` response header with # the value `DENY`, informing browsers not to display the content of # the web page in any frame. # # This might not be the best setting for everyone. You should read # about the other two possible values the `X-Frame-Options` header # field can have: `SAMEORIGIN` and `ALLOW-FROM`. # https://tools.ietf.org/html/rfc7034#section-2.1.'>https://tools.ietf.org/html/rfc7034#section-2.1. # # Keep in mind that while you could send the `X-Frame-Options` header # for all of your website’s pages, this has the potential downside that # it forbids even non-malicious framing of your content (e.g.: when # users visit your website using a Google Image Search results page). # # Nonetheless, you should ensure that you send the `X-Frame-Options` # header for all pages that allow a user to make a state changing # operation (e.g: pages that contain one-click purchase links, checkout # or bank-transfer confirmation pages, pages that make permanent # configuration changes, etc.). # # Sending the `X-Frame-Options` header can also protect your website # against more than just clickjacking attacks: # https://cure53.de/xfo-clickjacking.pdf. # # https://tools.ietf.org/html/rfc7034 # http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx # https://www.owasp.org/index.php/Clickjacking # <IfModule mod_headers.c> # Header set X-Frame-Options "DENY" # # `mod_headers` cannot match based on the content-type, however, # # the `X-Frame-Options` response header should be send only for # # HTML documents and not for the other resources. # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$"> # Header unset X-Frame-Options # </FilesMatch> # </IfModule> # ---------------------------------------------------------------------- # | Content Security Policy (CSP) | # ---------------------------------------------------------------------- # Mitigate the risk of cross-site scripting and other content-injection # attacks. # # This can be done by setting a `Content Security Policy` which # whitelists trusted sources of content for your website. # # The example header below allows ONLY scripts that are loaded from the # current website's origin (no inline scripts, no CDN, etc). That almost # certainly won't work as-is for your website! # # For more details on how to craft a reasonable policy for your website, # read: http://www.html5rocks.com/en/tutorials/security/content-security-policy/ # (or the specification: http://www.w3.org/TR/CSP11/). Also, to make # things easier, you can use an online CSP header generator such as: # http://cspisawesome.com/. # <IfModule mod_headers.c> # Header set Content-Security-Policy "script-src 'self'; object-src 'self'" # # `mod_headers` cannot match based on the content-type, however, # # the `Content-Security-Policy` response header should be send # # only for HTML documents and not for the other resources. # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$"> # Header unset Content-Security-Policy # </FilesMatch> # </IfModule> # ---------------------------------------------------------------------- # | File access | # ---------------------------------------------------------------------- # Block access to directories without a default document. # # You should leave the following uncommented, as you shouldn't allow # anyone to surf through every directory on your server (which may # includes rather private places such as the CMS's directories). <IfModule mod_autoindex.c> Options -Indexes </IfModule> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Block access to all hidden files and directories with the exception of # the visible content from within the `/.well-known/` hidden directory. # # These types of files usually contain user preferences or the preserved # state of an utility, and can include rather private places like, for # example, the `.git` or `.svn` directories. # # The `/.well-known/` directory represents the standard (RFC 5785) path # prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`, # `/.well-known/keybase.txt`), and therefore, access to its visible # content should not be blocked. # # https://www.mnot.net/blog/2010/04/07/well-known # https://tools.ietf.org/html/rfc5785 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC] RewriteCond %{SCRIPT_FILENAME} -d [OR] RewriteCond %{SCRIPT_FILENAME} -f RewriteRule "(^|/)\." - [F] </IfModule> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Block access to files that can expose sensitive information. # # By default, block access to backup and source files that may be # left by some text editors and can pose a security risk when anyone # has access to them. # # http://feross.org/cmsploit/ # # (!) Update the `<FilesMatch>` regular expression from below to # include any files that might end up on your production server and # can expose sensitive information about your website. These files may # include: configuration files, files that contain metadata about the # project (e.g.: project dependencies), build scripts, etc.. <FilesMatch "(^#.*#|\.(bak|conf|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$"> # Apache < 2.3 <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All </IfModule> # Apache ≥ 2.3 <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> # ---------------------------------------------------------------------- # | HTTP Strict Transport Security (HSTS) | # ---------------------------------------------------------------------- # Force client-side SSL redirection. # # If a user types `example.com` in their browser, even if the server # redirects them to the secure version of the website, that still leaves # a window of opportunity (the initial HTTP connection) for an attacker # to downgrade or redirect the request. # # The following header ensures that browser will ONLY connect to your # server via HTTPS, regardless of what the users type in the browser's # address bar. # # (!) Remove the `includeSubDomains` optional directive if the website's # subdomains are not using HTTPS. # # http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ # https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1 # http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx # <IfModule mod_headers.c> # Header set Strict-Transport-Security "max-age=16070400; includeSubDomains" # </IfModule> # ---------------------------------------------------------------------- # | Reducing MIME type security risks | # ---------------------------------------------------------------------- # Prevent some browsers from MIME-sniffing the response. # # This reduces exposure to drive-by download attacks and cross-origin # data leaks, and should be left uncommented, especially if the server # is serving user-uploaded content or content that could potentially be # treated as executable by the browser. # # http://www.slideshare.net/hasegawayosuke/owasp-hasegawa # http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx # http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx # https://mimesniff.spec.whatwg.org/ <IfModule mod_headers.c> Header set X-Content-Type-Options "nosniff" </IfModule> # ---------------------------------------------------------------------- # | Reflected Cross-Site Scripting (XSS) attacks | # ---------------------------------------------------------------------- # (1) Try to re-enable the cross-site scripting (XSS) filter built # into most web browsers. # # The filter is usually enabled by default, but in some cases it # may be disabled by the user. However, in Internet Explorer for # example, it can be re-enabled just by sending the # `X-XSS-Protection` header with the value of `1`. # # (2) Prevent web browsers from rendering the web page if a potential # reflected (a.k.a non-persistent) XSS attack is detected by the # filter. # # By default, if the filter is enabled and browsers detect a # reflected XSS attack, they will attempt to block the attack # by making the smallest possible modifications to the returned # web page. # # Unfortunately, in some browsers (e.g.: Internet Explorer), # this default behavior may allow the XSS filter to be exploited, # thereby, it's better to inform browsers to prevent the rendering # of the page altogether, instead of attempting to modify it. # # http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities # # (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that # you are taking all possible measures to prevent XSS attacks, the # most obvious being: validating and sanitizing your website's inputs. # # http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx # http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx # https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 # <IfModule mod_headers.c> # # (1) (2) # Header set X-XSS-Protection "1; mode=block" # # `mod_headers` cannot match based on the content-type, however, # # the `X-XSS-Protection` response header should be send only for # # HTML documents and not for the other resources. # <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$"> # Header unset X-XSS-Protection # </FilesMatch> # </IfModule> # ---------------------------------------------------------------------- # | Server software information | # ---------------------------------------------------------------------- # Prevent Apache from sending in the `Server` response header its # exact version number, the description of the generic OS-type or # information about its compiled-in modules. # # (!) The `ServerTokens` directive will only work in the main server # configuration file, so don't try to enable it in the `.htaccess` file! # # https://httpd.apache.org/docs/current/mod/core.html#servertokens # ServerTokens Prod # ###################################################################### # # WEB PERFORMANCE # # ###################################################################### # ---------------------------------------------------------------------- # | Compression | # ---------------------------------------------------------------------- <IfModule mod_deflate.c> # Force compression for mangled `Accept-Encoding` request headers # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Compress all output labeled with one of the following media types. # # (!) For Apache versions below version 2.3.7 you don't need to # enable `mod_filter` and can remove the `<IfModule mod_filter.c>` # and `</IfModule>` lines as `AddOutputFilterByType` is still in # the core directives. # # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype <IfModule mod_filter.c> AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/vnd.geo+json" \ "application/vnd.ms-fontobject" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "image/x-icon" \ "text/cache-manifest" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml" </IfModule> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Map the following filename extensions to the specified # encoding type in order to make Apache serve the file types # with the appropriate `Content-Encoding` response header # (do note that this will NOT make Apache compress them!). # # If these files types would be served without an appropriate # `Content-Enable` response header, client applications (e.g.: # browsers) wouldn't know that they first need to uncompress # the response, and thus, wouldn't be able to understand the # content. # # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding <IfModule mod_mime.c> AddEncoding gzip svgz </IfModule> </IfModule> # ---------------------------------------------------------------------- # | Content transformation | # ---------------------------------------------------------------------- # Prevent intermediate caches or proxies (e.g.: such as the ones # used by mobile network providers) from modifying the website's # content. # # https://tools.ietf.org/html/rfc2616#section-14.9.5 # # (!) If you are using `mod_pagespeed`, please note that setting # the `Cache-Control: no-transform` response header will prevent # `PageSpeed` from rewriting `HTML` files, and, if the # `ModPagespeedDisableRewriteOnNoTransform` directive isn't set # to `off`, also from rewriting other resources. # # https://developers.google.com/speed/pagespeed/module/configuration#notransform # <IfModule mod_headers.c> # Header merge Cache-Control "no-transform" # </IfModule> # ---------------------------------------------------------------------- # | ETags | # ---------------------------------------------------------------------- # Remove `ETags` as resources are sent with far-future expires headers. # # https://developer.yahoo.com/performance/rules.html#etags # https://tools.ietf.org/html/rfc7232#section-2.3 # `FileETag None` doesn't work in all cases. <IfModule mod_headers.c> Header unset ETag </IfModule> FileETag None # ---------------------------------------------------------------------- # | Expires headers | # ---------------------------------------------------------------------- # Serve resources with far-future expires headers. # # (!) If you don't control versioning with filename-based # cache busting, you should consider lowering the cache times # to something like one week. # # https://httpd.apache.org/docs/current/mod/mod_expires.html <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 year" # Data interchange ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rdf+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/schema+json "access plus 0 seconds" ExpiresByType application/vnd.geo+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" # Favicon (cannot be renamed!) and cursor images ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" # HTML ExpiresByType text/html "access plus 0 seconds" # JavaScript ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-javascript "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" # Manifest files ExpiresByType application/manifest+json "access plus 1 year" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" # Media files ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/bmp "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" # Web fonts # Embedded OpenType (EOT) ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType font/eot "access plus 1 month" # OpenType ExpiresByType font/opentype "access plus 1 month" # TrueType ExpiresByType application/x-font-ttf "access plus 1 month" # Web Open Font Format (WOFF) 1.0 ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType font/woff "access plus 1 month" # Web Open Font Format (WOFF) 2.0 ExpiresByType application/font-woff2 "access plus 1 month" # Other ExpiresByType text/x-cross-domain-policy "access plus 1 week" </IfModule> # ---------------------------------------------------------------------- # | File concatenation | # ---------------------------------------------------------------------- # Allow concatenation from within specific files. # # e.g.: # # If you have the following lines in a file called, for # example, `main.combined.js`: # # <!--#include file="js/jquery.js" --> # <!--#include file="js/jquery.timer.js" --> # # Apache will replace those lines with the content of the # specified files. # <IfModule mod_include.c> # <FilesMatch "\.combined\.js$"> # Options +Includes # AddOutputFilterByType INCLUDES application/javascript \ # application/x-javascript \ # text/javascript # SetOutputFilter INCLUDES # </FilesMatch> # <FilesMatch "\.combined\.css$"> # Options +Includes # AddOutputFilterByType INCLUDES text/css # SetOutputFilter INCLUDES # </FilesMatch> # </IfModule> # ---------------------------------------------------------------------- # | Filename-based cache busting | # ---------------------------------------------------------------------- # If you're not using a build process to manage your filename version # revving, you might want to consider enabling the following directives # to route all requests such as `/style.12345.css` to `/style.css`. # # To understand why this is important and even a better solution than # using something like `*.css?v231`, please see: # http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/ # <IfModule mod_rewrite.c> # RewriteEngine On # RewriteCond %{REQUEST_FILENAME} !-f # RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L] # </IfModule> #AddHandler application/x-httpd-php .html .htm .js Редирект с site.ru/brand/product на site.ru/product: #RewriteRule (.*)/(.*) http://site.ru/$2? [R=301,L] RewriteCond %{HTTP_HOST} ^/product&manufacturer_id=\[0-9]/product_id=\[0-9]$ RewriteRule ^(.*)$ http://site.ru/product_id=\[0-9]$2? [R=301,L]
  13. content bot

    NGINX 301 редиректы

    Nginx, 301 редиректы с http на https протоколы и наоборот Nginx, 301 редирект с http на https протокол Если у вас на сайте есть SSL сертификат для домена, то вы можете настроить https протокол. После чего для 301-го редиректа вам необходимо добавить следующий код в файл конфигурации nginx для домена: server { #... if ($scheme = http) { return 301 https://$server_name$request_uri; } } или server { #... listen server_ip:80; server_name www.site.com; rewrite ^ https://www.site.com$request_uri? permanent; } Nginx, 301 редирект с https на http протокол Обратный пример конфигурации для редиректа с http на https: server { listen 443; server_name www.site.com; rewrite ^ http://www.site.com$request_uri? permanent; } server { listen 80; server_name www.site.com; #... } Nginx, 301 редирект с www на без www Пример 301-го редиректа на основное зеркало без www: server { #... if ($host ~* www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ http://$host_without_www$1 permanent; } } или server { #... server_name www.site.com; rewrite ^/(.*)$ http://site.com/$1 permanent; } Nginx, 301 редирект с без www на с www Обратный пример 301-го редиректа на основное зеркало сайта с www: server { #... server_name site.com; rewrite ^/(.*)$ http://www.site.com/$1 permanent; } server { listen 80; server_name www.site.com; #... } Nginx, 301 редирект для одной страницы Если у страницы поменялся URL, то лучше сделать 301 редирект на новый URL: server { #... if ( $request_filename ~ oldpage/ ) { rewrite ^ http://www.site.com/newpage/? permanent; } #... } Nginx, 301 редирект для папки Аналогичный пример 301-го редиректа для папки: server { #... if ( $request_filename ~ oldfolder/.+ ) { rewrite ^(.*) http://www.site.com/newfolder/$1 permanent; } #... } Nginx, 301 редирект с одного домена на другой Если вы сменили домен сайт и хотите перенести вес старого домена на новый, то можно сделать 301-й редирект со старого домена на новый: server { server_name domain.com www.site.com; rewrite ^ $scheme://www.new-site.com; } Nginx, 301 редирект с каждой страницы одного домена на такой же URL адрес другого домена Если вы планируете изменить свой домен или изменить название предприятия, то пере направление домена является единственным лучшим решением для сохранения пользователей и перевода их запросов на новый домен: server { server_name site.com www.site.com; rewrite ^ $scheme://www.new-site.com$request_uri permanent; } Nginx, 301 редирект со страниц со слешем "/" на страницы без слеша в конце URL Часто бывает так что одна и та же страница доступна по двум URL, например /may-best-page и /my-best-page/, если человеку понятно что это одна и та же страница, то поисковые системы понимают это как две разные страницы, соответственно разбивают вес страницы, а также показываются в аналитике (статистике) как 2 разные страницы. Для того, что бы избежать этого вы можете сделать 301 редирект со страниц со слешем в конце URL на без него: server { #... rewrite ^/(.*)/$ /$1 permanent; #... } Nginx, 301 редирект со страниц без слеша на страницы со слешем в конце URL Причина делать такой редирект та же, что и в ситуации описанным выше, за исключением того, что редирект необходимо делать со страницы без слеша в конце URL на страницу со слешем в конце URL: server { #... rewrite ^(.*[^/])$ $1/ permanent; #... } Дополнительно Не забудьте перед использованием примеров сменить site.com на свой домен. После внесения изменений в файл конфигурации nginx для домена необходимо перезапустить nginx: service nginx reload или service nginx restart или перезапустить с панели Для редиректа с site.ru/brand/product на site.ru/product при переездах и т.д. добавлять в блок server : if (!-d $request_filename){ set $r 1; } if (!-f $request_filename){ set $r 2$r; } if ($r = 21){ rewrite ^/(.*)/(.*)$ $scheme://$host/$2 permanent; }
  14. content bot

    TWIG

    Twig - компилирующий обработчик шаблонов с открытым исходным кодом, написанный на языке программирования PHP. TWIG - WIKI Документация - ENG Документация - RUS GitHub - TWIG Конвертер - PHP в TWIG Конвертер - TWIG в PHP Ещё один Конвертер - PHP в TWIG
×
×
  • Создать...