Kompx.com or Compmiscellanea.com

Редирект с HTTP на HTTPS в .htaccess

Веб-серверы : Apache + nginx

Редирект со всех доменных имен сайта на его веб-адрес с HTTPS и доменным именем с www. Редирект производится с доменов:

  • Как с www, так и без - URL с HTTP
  • Без www - URL с HTTPS

Веб-серверы: Apache + nginx. Поддержка SSL включена. SSL-сертификат приобретен, одобрен и установлен. То есть, все настроено и работает. Так что осталось только сделать редирект с HTTP на HTTPS. Директивы для файла .htaccess:

RewriteEngine On

RewriteCond %{HTTP:HTTPS} !on [NV]

RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,L]

Редирект с HTTP на HTTPS

Комментарии

-- Включить работу механизма преобразования:

RewriteEngine On

-- Если HTTPS отсутствует:

RewriteCond %{HTTP:HTTPS} !on [NV]

-- Тогда заменить HTTP + домен (с www или без) на HTTPS + домен с www:

RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,L]

-- Если есть HTTPS, но доменное имя без www (случай, когда в адресной строке вводится https://domain.tld):

RewriteCond %{HTTP_HOST} !^www\.

-- Тогда заменить его на HTTPS + домен с www:

RewriteRule ^(.*)$ https://www.domain.tld/$1 [R=301,L]

Примечания

  • RewriteCond %{HTTP:HTTPS} !on [NV] не единственный способ узнать, что HTTPS отсутствует. Более того, при некоторых видах организации и настройки веб-сервера лучше пробовать другие директивы, как RewriteCond %{SERVER_PORT} !443, например. При любом варианте надо тем или иным способом узнать включен ли HTTPS. Какая именно директива сработает в конкретном случае возможно придется выяснять экспериментальным путем.
  • Документация Apache Module mod_rewrite (in English): http://httpd.apache.org/docs/current/mod/mod_rewrite.html

Aliosque subditos et thema

 

Распаковать несколько архивов

 

Распаковать с помощью unzip в командной строке Linux несколько zip-архивов в один каталог. Вопреки возможным ожиданиям, "unzip *.zip" работать не будет, *.zip необходимо взять в кавычки: unzip "*.zip" В архивах могут быть файлы с одинаковыми именами. Чтобы избежать перезаписи: unzip -B "*.zip" "Unzip -B" в процессе распаковки перезаписывает файлы с одинаковыми именами, но сохраняет их резервные копии. Новые имена для этих файлов создаются добавлением тильды ("~") в конец изначальных названий файлов. Если имеется расширение, то "~" добавляется после него. Если этого недостаточно, после тильды ("~") прибавляется уникальная последовательность цифр (до 5 знаков). "Unzip -B" не слишком рабочее решение. Например, поскольку диапазон последовательностей цифр может израсходоваться (99999 знаков, или 65535 для 16-битных систем), резервный файл с максимальным числом диапазона после "~" в названии стирается и замещается без уведомления новой резервной копией ( Более подробно ). Число файлов в архиве может быть не всегда известно заранее или оно может быть больше диапазона доступных чисел, так что "Unzip -B" не лучший вариант. Переименование файлов с одинаковыми именами с помощью добавления "~" в конце имен, после расширения тоже не слишком удобно. Но другой встроенный вариант еще хуже. Если модификатор "-B" не используется, то каждый раз, как распаковывается файл с таким же именем как уже был извлечен, unzip спрашивает "replace example.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:" ("заместить example.txt? да, нет, все, ни один, переименовать:"). Каждый раз нужно нажимать на "r" и каждый раз вводить новое имя. Так что для решения проблемы вероятно следует создать и использовать какой-то скрипт, bash или иной.

Консольные приложения для Windows. Текстовые редакторы

 

FTE : JED : MinEd : Nano : MS-DOS Editor Изначально все текстовые редакторы не имели графического интерфейса. А работа с текстом почти с самого начала была одним из основных видов деятельности пользователя на компьютере. С изобретением и распространением развитых низкоуровневых и особенно высокоуровневых языков программирования, текстовый редактор стал важным рабочим инструментом профессионалов. Затем и другие пользователи стали применять текстовые редакторы для своих повседневных задач. Поэтому ко времени начала распространения программ с графическим интерфейсом концепция текстового редактора была уже хорошо разработана, имелись зрелые, хорошо продуманные и реализованные образцы приложений без графического интерфейса для работы с текстом. Отчего очень долго текстовые версии сосуществовали с графическими и до сих пор приложения с GUI не вытеснили консольные. Хотя средний пользователь не знает о их существовании, ему неизвестна мощь vim или emacs, часто неизвестен даже встроенный во все 32-битные версии Windows MS-DOS Editor, тем не менее, текстовые редакторы продолжают существовать и развиваться. Как и в случае с текстовыми веб браузерами, основная линия развития консольных текстовых редакторов находится в среде Linux и других *nix систем. Но и под Windows есть несколько интересных приложений. FTE - / home page / Консольный текстовый редактор. Версии для Linux, некоторых других *nix систем, DOS, Windows, OS/2. Поддержка подсветки синтаксиса нескольких компьютерных языков: C, C++, Java, Perl, Sh, Pascal, SQL, Assembly, PHP, Python, REXX, Ada, Fortran, IDL, LinuxDoc, TeX, TeXInfo, HTML и другие. Таблица ASCII символов. Разнообразные приспособления для работы с кодом и обращения с ошибками, могущих возникнуть в процессе. Копирование слов, символов или блоков текста осуществляется таким же образом и с использованием тех же горячих клавиш (кроме Ctrl+A), что и у текстовых редакторов Windows c графическим интерфейсом - хотя возможны и другие варианты. FTE 0.49.13: Открыть файл FTE 0.49.13: Одно из подменю FTE 0.49.13: Настройки FTE 0.49.13: Открытый .php файл FTE 0.49.13: Открытый .htm файл FTE 0.49.13: Открытый C код JED - / home page / Консольный текстовый редактор. Версии для Linux, некоторых других *nix систем, QNX, OS/2, BeOS, OpenVMS, DOS, Windows. Поддержка подсветки синтаксиса нескольких компьютерных языков: C, C++, FORTRAN, TeX, HTML, SH, python, IDL, DCL, NROFF и другие. Может эмулировать редакторы Emacs, EDT, Wordstar, Borland, Brief. Использование встроенного языка S-Lang дает возможность дополнительных настроек и расширений. Поиск и замена в нескольких файлах.