- •Интернет-программирование
- •Интернет-программирование. Краткая история
- •Интернет-программирование. Персоналия
- •Интернет-программирование. Определения
- •Интернет-программирование. Архитектура клиент-сервер
- •Интернет-программирование. Архитектура клиент-сервер
- •Интернет-программирование. Web-сервера
- •Интернет-программирование. Web-сервера. Производительность.МИЭТ, 2017
- •Интернет-программирование. Web-сервера. Nginx
- •Интернет-программирование. Apache. .htaccess
- •Интернет-программирование. Apache. .htaccess. mod_rewite
- •Интернет-программирование. Apache. .htaccess. Редиректы
- •Интернет-программирование. Apache. .htaccess. Редиректы
- •Интернет-программирование. Apache. .htaccess. Ограничение доступа. МИЭТ, 2017
- •Интернет-программирование. Apache. .htaccess. Кодировка.
- •Интернет-программирование. Apache. .htaccess. Настройка PHP
- •Интернет-программирование. Виды хостинга
- •Интернет-программирование. Виртуальный хостинг.
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Настройка виртуального хостинга
- •Интернет-программирование. Выделенный виртуальный сервер
- •Интернет-программирование. Выделенный виртуальный сервер
- •Интернет-программирование. Выделенный сервер
- •Интернет-программирование. Собственный сервер
Интернет-программирование. Apache. .htaccess |
МИЭТ, 2017 |
Файл .htaccess переопределяет настройки главного конфигурационного файла Apache httpd.conf для папки (директории) сайта в которой он находится и всех
вложенных в нее папок (директорий)
Администратор сервера в файле httpd.conf может запретить переопределение любых директив в файле .htaccess. В этом случае разработчик получает ошибку 500.
Из всех применений .htacces, наиболее часто используемые следующие:
1.Преобразование URL адресов (например для ЧПУ)
2.Перенаправления (Редиректы)
3.Ограничения доступа
4.Настройка кодировки
5.Настройка взаимодействия с интерпретаторами дин. Страниц (например - PHP)
Интернет-программирование. Apache. .htaccess. mod_rewite |
МИЭТ, 2017 |
Преобразование URL адресов выполняется с помощью модуля mod_rewrite. Модуль перехватывает «на лету» входящие URL, преобразует их и перенаправляет выполнение по новому адресу. При преобразовании модуль использует правила регулярных выражений.
Директива включения модуля mod_rewrite в .htaccess
RewriteEngine on
Пример для ЧПУ
Нужно перенаправить запрос с URL mysite.ru/sport/foto/12345.html в файл mysite.ru/sport/foto/detail.php?ELEMENT_ID=12345
А если URL имеет вид: mysite.ru/sport/foto/marafon_41.html
в файл mysite.ru/sport/foto/detail.php?ELEMRNT_CODE=marafon_41
Запись в .htaccess
RewriteRule sport/foto/([0-9]+)\.html /sport/detail.php?ELEMENT_ID=$1 RewriteRule sport/foto/([^\.]+)\.html /sport/detail.php?ELEMENT_CODE=$1
Интернет-программирование. Apache. .htaccess. Редиректы |
МИЭТ, 2017 |
Синтаксис: Redirect [status] URL-path URL
status: необязательное поле (но используются поисковыми роботами в определенных ситуациях), определяет код возврата, допустимые значения:
permanent (301 — документ перемещен постоянно) temp (302 — документ перемещен временно) seeother (303 — смотрите другой)
URL-path: локальная часть URL запрашиваемого документа.
URL: URL куда должен быть выполнен редирект
Значения статуса это то, что будет возвращено в HTTP ответе клиенту. Правильно при изменении структуры сайта все старые адреса с помощью 301-го редиректа перенаправить на новые. В этом случае поисковая машина «все поймет» и сайт не «просядет» в поисковой выдаче.
Интернет-программирование. Apache. .htaccess. Редиректы |
МИЭТ, 2017 |
Пример 301-го редиректа. Документ index.php навсегда перемещен из папки doc в папку newdoc.
Redirect 301 /doc/index.php http://mysite.ru/newdoc/index.php
Пример полного перенаправления со всего сайта на другой сайт
Redirect / http://htaccess.net.ru/
Пример редиректа с использованием регулярного выражения. Вместо всех картинок с расширением GIF будут отдаваться картинки с расширением PNG.
RedirectMatch (.*)\.gif$ http://htaccess.net.ru/$1.png
Интернет-программирование. Apache. .htaccess. Ограничение доступа. МИЭТ, 2017
Любую папку с помощью .htaccess можно закрыть паролем. Для этого нужно сначала сгенерировать файл паролей .htpasswd с помощью специальной программы passwd.exe, которую легко найти и скачать из Интернет.
Сгенеренный файл паролей надо загрузить на сервер в ту-же папку, где находится файл .htaccess. Затем записать в .htaccess директивы:
AuthType Basic
AuthUserFile /home/www/.htpasswd
Require valid-user
Здесь /home/www/ путь от корня виртуального диска к папке сайта. В данном случае, если www — корневая папка сайта, то весь сайт будет защищен паролем.
Такая защита доступа часто удобна тогда, когда нужно показать сайт заказчику, но чтобы более никто не мог попасть на него.
Интернет-программирование. Apache. .htaccess. Кодировка. |
МИЭТ, 2017 |
Указываем кодировку на все файлы, в которой по умолчанию получает документы браузер:
AddDefaultCharset UTF-8
Указываем кодировку в которую будут перекодироваться все файлы, загружаемые на сервер
CharsetSourceEnc UTF-8
Для отмены перекодировки (например, если она была включена в httpd.conf, а на вашем сайте не нужна) пишем:
CharsetDisable On
Интернет-программирование. Apache. .htaccess. Настройка PHP |
МИЭТ, 2017 |
Поскольку Web-сервер получает запрос первым и именно он вызывает интерпретатор PHP, существует возможность изменять при запуске директивы php.ini для конкретной папки (сайта).
Существует два формата задания директив для php.ini в htaccess:
php_value name value - Устанавливает значение специфицированной переменной.
php_flag name on|off - Используется для установки булевой опции конфигурации.
Чаще всего разработчику требуется включать или выключать отображение ошибок при рвботе скриптов на сайте (сервере). Если включен режим подавления вывода ошибок, то при ошибочной ситуации разработчик (пользователь) видит только белый экран. Если включен режим отображения ошибок, то выводится описание ошибки от итерпретатора PHP.
php_value error_reporting “E_ALL & ~E_NOTICE”
Не показывать ошибки в скриптах:
php_value error_reporting 0 или php_flag error_reporting 0
Устанавливаем вывод ошибок и предупреждений в браузер:
php_flag display_errors Off или php_flag display_errors On
Интернет-программирование. Виды хостинга |
МИЭТ, 2017 |
Виртуальный
Виртуальный выделенный сервер
Выделенный сервер
Размещение оборудования клиента в Дата-центре
Интернет-программирование. Виртуальный хостинг. |
МИЭТ, 2017 |
В виртуальном хостинге все ресурсы (сайты) работают под одной ОС на одной машине и делят общую память и ресурсы процессора. По схеме виртуального хостинга на одном компьютере могут размещаться несколько десятков сайтов.
Преимущество — дешевизна.
Диапазон ежемесячной оплаты от 100 до 1000 руб.
Недостаток — взаимное влияние сайтов друг на друга.
Перегрузка одного сайта может привести к «тормозам» на других сайтах.
Состав ПО виртуального хостинга чаще всего: Apache, PHP, Perl, Python, MySQL.
Интернет-программирование. Настройка виртуального хостинга |
МИЭТ, 2017 |
Настройка Apache
Не все провайдеры предлагают настройку Apache. Но если предлагают, она выглядит Примерно так:
