Редирект на https через htaccess opencart: Как достали эти HTTP и HTTPS на Opencart – Сергей Арсентьев

Правильный htaccess — Opencart 3

Информация о материале
Blog-ru

.htaccess – это конфигурационный файл веб-сервера Apache

.htaccess – это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера.

Этот код я использую на своем сервере
Web сервер: Apache + php-fpm
Версія PHP 5.6

  • Сделан корректный редирект на https (если у вас не установлено безопасное подключение, замените ссылку на https)
  • Отсутствуют дубли страниц www и без www
  • Редирект прописных букв на строчные
  • При использовании кода замените ***.com на свой сайт

 


Не забудьте – для редактирования не используйте стандартный блокнот! Я, например, использую Notepad++

 

 

AddDefaultCharset UTF-8
# 1. ?]*) index.php?_route_=$1 [L,QSA]

 

php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

 

Просмотров: 59
  • Назад
  • Вперед

Настройка htaccess

 

Файл .htaccess на сайте нужен для того, чтобы напрямую отдавать серверу определённые команды или устанавливать какие-либо параметры. Например, через .htaccess на блогах часто включают кэширование страниц, устанавливают редирект, блокируют различные запросы и т. д. Но каждая дополнительная функция увеличивает нагрузку на сервер, поэтому обращаться к этому способу управления следует лишь в том случае, когда нет других вариантов. Обычно всегда можно реализовать желаемую функцию с помощью плагина или редактирования кода.

Давайте разберём 17 основных правил, который должен знать любой веб-мастер, желающий работать с файлом .htaccess. Zeus [NC] <limit get=»» post=»» head=»»> Order Allow,Deny Allow from all Deny from env=bad_bot </limit>

Блокировка IP-адресов

Если нужно подключить доступ к сайту только жителям определённых стран, или даже дать возможность посещать ресурс лишь некоторым людям, то неподходящие IP-адреса можно заблокировать.

В нижеприведенной команде нужно прописать только те IP, которым будет открыт доступ. Для всех остальных он будет заблокирован. Вместо domainname, здесь также нужно указать своё доменное имя.

#Запрещаем доступ для всех, кроме указанных IP-адресов

ErrorDocument 403 https://www.domainname.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123

301 Редирект

Поисковые системы не приветствуют перенаправление с одной страницы на другую. Если же создать редирект через файл .htaccess, то от поисковых систем санкций не последует.

  • com – это доменное имя.
  • /file.html – это страница (директория).

#Настраиваем SEO-Friendly 301 Redirect

Redirect 301 /1/file.html https://www.site.com/2/file.html

Редактирование страницы ошибки 404

Если появилось желание сделать сайт ещё красочней, то можно отредактировать страницу ошибки 404. В стандартном варианте пользователю просто указывается, что данной страницы не существует. Мы же можем добавить какое-нибудь изображение, изменить текст и т. д.

Для начала нужно создать эту страницу и залить на хостинг. В .htaccess остаётся прописать адрес до файла.

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Чёрный список IP-адресов

Если на сайте появился злостный спамер или агрессивный комментатор, то можно занести его IP в чёрный список. Больше с этого адреса на ресурс он зайти не сможет. Если сайт работает на CMS, то узнать IP можно в админке. Там часто ведутся логи.

#Создаем черный список IP адресов

allow from all
deny from 145.186.14.122
deny from 124.15.

Блокировка доступа к определённому файлу

Если вы не хотите, чтобы кто-то могут увидеть содержание файлов на хостинге, то доступ к ним можно заблокировать. Без блокировки, любой пользователь при желании сможет узнать, что, например, у вас прописано в .htaccess или robots.txt.

#Защищаем .htaccess файл

<files .htaccess="">
order allow,deny
deny from all
</files>

Установка пароля на доступ к файлам

Также файлы можно не блокировать полностью, а создать доступ по паролю. Чтобы установить пароль нужно создать файл .htpasswd. Там в формате user:password он и должен хранится. Но пароль нужно зашифровать, чтобы никто не получил к нему доступ. В интернете есть несколько сервисов для автоматической шифровки.

#защита паролем файла
<files secure.php="">
AuthType Basic
AuthName «Prompt»
AuthUserFile /pub/home/. (.*)$ https://www.new.com/$1 [R=301,L]

Кэширование

Скорость загрузки страниц давно является ещё одним фактором ранжирования. К тому же, если сайт долго загружается, пользователь может просто закрыть страницу, так ничего и не дождавшись. Включённое кэширование позволит ускорить загрузку в десятки раз, если пользователь заходит на сайт ранее. После посещения сайта, некоторые его элементы сохраняются на компьютер, из-за чего, при повторном заходе, загрузка будет производиться уже с памяти жесткого диска, а не с интернета.

#Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault «access plus 1 year»
</filesmatch>
</ifmodule>

Включение сжатия

Включённое сжатие также позволит ускорить загрузку. Сначала сервер попытается сжать все данные, и только после этого отправит их пользователю. Для улучшения результата можно включить компрессию (строка addOutputFilterByType), но тогда процессор сервера будет сильно нагружен. (.*)$ index.php [F,L]

Перенаправление пользователя с помощью директивы

RedirectMatch

Этот директив позволит сообщать браузеру о том, что появилась необходимость перенаправления на другую страницу.

RedirectMatch [status] regexp URL

Здесь имееются несколько статусов:

  1. 301 – постоянный редирект (permanent).
  2. 302 – временный. (temp).
  3. 303 – на наиболее популярную или полезную страницу (seeother).
  4. 410 – редиректа нет, так как она удалён (gone).

Защита от прямых ссылок

Некоторые ресурсы пытаются экономить место на своём хостинге, и используют изображения, которые были загружены на другие ресурсы. Чтобы пользователи не использовали прямые ссылки с нашего сайта в качестве хостинга для изображений, стоит поставить защиту. После этого, открыв прямую ссылку, все другие посетители получат ошибку 403.

# Запретить другим сайтам использовать прямые ссылки на ваши картинки
RewriteCond %{HTTP_REFERER} !^$
# Дальше список разрешенных доменов
RewriteCond %{HTTP_REFERER} !^http(s)?://(www. https://(www\.)?domain\.com» local_ref=1
# File extensions that you want to protect
# Расширения файлов, которые нужно защитить
<FilesMatch "\.(bmp|jpe?g|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

Запрещаем доступ в админ-панель с других ip адресов

Создайте файл .htaccess в папке admin и запишите в него этот код где xxx.xxx.xxx.xxx это ваш ip адрес. Если у вас динамический ip указываем только ххх.ххх.

<Files "index.php">
order deny,allow
   Deny from all
Allow from xxx.xxx.xxx.xxx
</files>

Заключение

Естественно, существует и десятки других правил для .htaccess, но здесь были приведены самые важные, которые чаще других используются при работе с сайтом.

 

ssl — Как переместить сайт opencart с http на https

спросил

Изменено 3 года, 10 месяцев назад

Просмотрено 3к раз

Я уже установил ssl-сертификат на свой сайт opencart, но некоторые страницы нормально работают с https, но страницы категорий не работают с https. Нужно ли мне также менять все URL-адреса в базе данных? В файле конфигурации я уже установил https.

  • ssl
  • https
  • opencart
1

Некоторые из них могут не относиться к вашей конкретной установке, но в интересах создания исчерпывающего ответа я попытался охватить все базы здесь:

Примечание: вам может потребоваться настроить имена таблиц в зависимости от префикса таблицы вашего магазина, если они не начинаются с oc_

  • Открыть config.php и admin/config.php и измените все эти объявления постоянных URL-адресов на https — обязательно включите HTTP_SERVER и HTTP_CATALOG
  • В панели администратора перейдите в система > настройки , нажмите редактировать и в таблице сервера установить Использовать SSL: до Да .
  • В вашей базе данных обновите столбец store_url в таблице oc_order , чтобы все ссылки были https. Это важно, потому что обновление заказов может завершиться ошибкой, если API попытается получить доступ к http-версии вашего сайта. вы можете использовать этот запрос: ОБНОВЛЕНИЕ oc_order SET store_url = REPLACE(store_url, 'http:', 'https:')
  • Если в таблицах описаний есть жестко закодированные изображения и ссылки, их также следует заменить. SSL по-прежнему будет работать, но в строке браузера будет отображаться предупреждающий флажок. Сюда входят oc_product_description , oc_category_description и любые другие таблицы, в которых вы могли создать html-контент.
  • То же, что и выше для ваших файлов темы. Довольно часто можно найти жестко закодированные http:// ссылки и изображения в footer.tpl и header.tpl для начинающих. Вы можете просто просмотреть свой сайт, чтобы увидеть, не отображается ли на какой-либо из страниц зеленый значок замка в браузере, и взять его оттуда.
  • Еще одним виновником нарушения https могут быть сторонние расширения, которые могут существовать как в виде файлов, так и в OC2 как ocmods в таблице oc_modification .
  • Наконец, создайте перенаправление в .httaccess , чтобы изящно сообщить трафику, что теперь ваши страницы можно найти на https. я исключил robots.txt и любые соединения для маршрутов openbay, потому что, исходя из опыта, когда я пытался перенаправить вебхуки ebay, это сломало вещи, и они, кажется, http только по умолчанию. Я подозреваю, что это может быть недостаток в том, как openbay обрабатывает эти запросы, или, возможно, проблема с конфигурацией, но мне не удалось найти обходной путь, который не сломал бы openbay, поэтому на данный момент я бы рекомендовал оставить эти запросы нетронутыми. Я использую это в .htaccess :
9009маршрут=ebay/openbay/* RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Так и должно быть!

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

apache — OpenCart 3.0.2.0 — включить SSL и исправить «www» .htaccess

Я работаю над новой установкой, которая работает на OpenCart 3.0.2.0.

Я купил SSL-сертификат, и мой хост активировал его. Затем я приступил к активации SSL от администратора OpenCart (Система-> Настройки-> Сервер-> Использовать SSL), и после редактирования файла конфигурации он работает так, как задумано OpenCart (только на страницах с формами).

Однако я хочу, чтобы сертификат был виден на всех страницах.

Кроме того, у OpenCart есть некоторые проблемы при вводе URL-адреса веб-сайта с «www» перед доменным именем, что приводит к тому, что значки с прекрасным шрифтом не загружаются. Я мог бы отредактировать файл config.php и добавить туда «www», но это испортило бы URL-адрес без «www».

Выяснилось, что единственный способ принудительно использовать SSL на всех страницах И решить проблему с «www» — отредактировать файл . htaccess.

Я попытался добавить это, чтобы принудительно использовать SSL на всех страницах, но безрезультатно: 9(.*)$ https://uneltescu.ro/$1 [R,L]

Просмотрел Интернет и SO и нашел несколько вариантов принудительной работы SSL и версии «www», но ни один из них, похоже, не работал у меня, возможно, я не понял, для чего они были предназначены. правильно.

Вот как выглядит мой файл .htaccess по умолчанию:

 # 1. Чтобы использовать псевдоним URL, вам нужно запустить apache с включенным mod_rewrite.
# 2. В вашем каталоге opencart переименуйте htaccess.txt в .htaccess.
# По любым вопросам поддержки, пожалуйста, посетите: http://www.opencart.com
Опции +FollowSymlinks
# Предотвратить листинг Directoy
Параметры - Индексы
# Запретить прямой доступ к файлам  Требовать все отказано
## Для apache 2.2 и старше замените «Require all disabled» на эти две строки:
# Отказать в заказе, разрешить
# Запретить от всех  # Настройки URL-адреса SEO
RewriteEngine включен
# Если ваша установка opencart не запускается в основной веб-папке, убедитесь, что папка запускается, т.
?]*) index.php?_route_=$1 [L,QSA] ### Дополнительные настройки, которые могут потребоваться для некоторых серверов ### Раскомментируйте команды, удалив перед ними знак #. ### Если вы получаете "Внутреннюю ошибку сервера 500" после включения любого из следующих параметров, восстановите #, так как это означает, что ваш хост не разрешает это. # 1. Если ваша корзина позволяет добавлять только один товар за раз, возможно, включена функция register_globals. Это может помочь отключить его: # php_flag register_globals выключен # 2. Если в вашей корзине включены волшебные кавычки, это может сработать, чтобы отключить их: # php_flag magic_quotes_gpc Выкл. # 3. Установите максимальный размер загружаемого файла. Большинство хостов ограничат это и не позволят переопределить, но вы можете попробовать # php_value upload_max_filesize 999М # 4. Установите максимальный размер сообщения. раскомментируйте эту строку, если у вас много вариантов продукта или вы получаете ошибки, когда формы не сохраняют все поля # php_value post_max_size 999M # 5.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *