Apache → Настройка HTTPS в Apache
Нового здесь ничего не будет, всё это миллионы раз описано в документации и подобных записях по блогам. Так что оставлю здесь эту заметку для себя, чтобы не искать каждый раз, когда это потребуется.
В двух словах - что такое HTTPS и с чем его едят.
HTTPS - это расширение протокола HTTP, поддерживающий шифрование. Данные, передаваемые подобным образом, шифруются с использованием SSL или TLS.
В данной заметке будет создаваться самоподписанный сертификат и хотя браузеры начнут ругаться, что такой сертификат не является доверенным, но свою задачу выполнять он всё таки будет, т.е. если и не исключит возможность прослушивания при помощи тех же снифферов, например, но, по меньшей мере, сильно затруднит жизнь некоторых хацкеров. И что немаловажно - такой сертификат не будет стоить ни копейки, в отличии от сертификатов, подписанных компаниями-сертификаторами :)
Apache → как запаролить определённый URL средствами Apache
Иногда возникает такая ситуация, когда нужно запаролить опредённый URL средствами веб-сервера (Apache в данном случае). Выяснять почему и зачем не будем, так как надо всё-таки решать поставленную задачу.
Воспользуемся базовой аутентификацией. В отличии от закрытия директории или файла, воспользоваться файлом .htaccess не получится, т.к. необходимая директива в нём не разрешена, но это можно сделать в настройках сервера или виртуального хоста. Выглядеть это будет следующим образом
1 2 3 4 5 6 | <Location "/category/zhelezo">
AuthType Basic
AuthName "Only for administrator"
AuthUserFile "/path/to/.htpasswd"
require valid-user
</Location>
|
Видно, что закрывается URL http://example.org/category/zhelezo. Путь к файлу .htpasswd должен быть абсолютным, иначе работать не будет (проверял). Упоминать даже не буду, что этот файл не должен быть доступен через веб :)
Apache → Передача GET-параметров при переадресации
Допустим, что два или более сайта обслуживаются одним веб-приложением, но различать их всё же надо. Предположим, что разделение это происходит в файле .htaccess, путём определения параметра city.
1 2 3 4 5 6 7 8 9 | RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^pupersite\.kh\.ua$ [NC]
RewriteRule ^(.*)$ index.php?city=kharkov [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^pupersite\.zp\.ua$ [NC]
RewriteRule ^(.*)$ index.php?city=zaporozhye [L]
|
Проблема здесь в том, что происходит замена GET-параметров в строке запроса, т.е. по ссылке вида pupersite.zp.ua/?param1=1¶m2=3 приложение параметров param1 и param2 не получит.