mirror of
https://github.com/phanan/htaccess.git
synced 2018-11-08 13:39:40 +01:00
added translations
This commit is contained in:
parent
a6354478ff
commit
5a5b36dd69
1 changed files with 99 additions and 99 deletions
|
@ -10,48 +10,48 @@
|
||||||
Подробнее о том, как помочь проекту и делать Pull Request'ы, вы можете прочитать в [этой статье](https://habrahabr.ru/post/275219/) на Хабрахабр.
|
Подробнее о том, как помочь проекту и делать Pull Request'ы, вы можете прочитать в [этой статье](https://habrahabr.ru/post/275219/) на Хабрахабр.
|
||||||
|
|
||||||
## Содержание
|
## Содержание
|
||||||
- [Rewrite и Redirect](#rewrite-and-redirection)
|
- [Rewrite и Redirect](#Rewrite-и-Redirect)
|
||||||
- [Перенаправление с без www на с www](#Перенаправление-с-без-www-на-с-www)
|
- [Перенаправление с без www на с www](#Перенаправление-с-без-www-на-с-www)
|
||||||
- [Перенаправление с без www на с www для http или https](#Перенаправление-с-без-www-на-с-www-для-http-или-https)
|
- [Перенаправление с без www на с www для http или https](#Перенаправление-с-без-www-на-с-www-для-http-или-https)
|
||||||
- [Force non-www](#force-non-www)
|
- [Перенаправление с www на без www](#Перенаправление-с-www-на-без-www)
|
||||||
- [Force non-www in a Generic Way](#force-non-www-in-a-generic-way)
|
- [Перенаправление с www на без www для http или https](#Перенаправление-с-www-на-без-www-для-http-или-https)
|
||||||
- [Force HTTPS](#force-https)
|
- [Принудительное использование HTTPS](#Принудительное-использование-HTTPS)
|
||||||
- [Force HTTPS Behind a Proxy](#force-https-behind-a-proxy)
|
- [Принудительное использование HTTPS за прокси](#Принудительное-использование-HTTPS-за-прокси)
|
||||||
- [Вставить завершающий слэш](#Вставить-завершающий-слэш)
|
- [Вставить завершающий слэш](#Вставить-завершающий-слэш)
|
||||||
- [Удалить завершающий слэш](#Удалить-завершающий-слэш)
|
- [Удалить завершающий слэш](#Удалить-завершающий-слэш)
|
||||||
- [Редирект со страницы на страницу](#redirect-a-single-page)
|
- [Редирект со страницы на страницу](#Редирект-со-страницы-на-страницу)
|
||||||
- [Редирект с использованием RedirectMatch](#redirect-using-redirectmatch)
|
- [Редирект с использованием RedirectMatch](#Редирект-с-использованием-RedirectMatch)
|
||||||
- [Редирект с директории на директорию (???)](#alias-a-single-directory)
|
- [Алиас для определенной директории](#Алиас-для-определенной-директории)
|
||||||
- [Alias Paths to Script](#alias-paths-to-script)
|
- [Алиас пути до скрипта](#Алиас-пути-до-скрипта)
|
||||||
- [Редирект всего сайта](#redirect-an-entire-site)
|
- [Редирект всего сайта](#Редирект-всего-сайта)
|
||||||
- [Alias "Clean" URLs](#alias-clean-urls)
|
- [Использовать "чистые" URL](#Использовать-чистые-URL)
|
||||||
- [Безопасность](#security)
|
- [Безопасность](#Безопасность)
|
||||||
- [Запретить доступ всем](#deny-all-access)
|
- [Запретить доступ всем](#Запретить-доступ-всем)
|
||||||
- [Запретить доступ всем, кроме...](#deny-all-access-except-yours)
|
- [Запретить доступ всем, кроме...](#Запретить-доступ-всем,-кроме...)
|
||||||
- [Разрешить доступ всем, кроме...](#allow-all-access-except-spammers)
|
- [Разрешить доступ всем, кроме...](#Разрешить-доступ-всем,-кроме...)
|
||||||
- [Запретить доступ к скрытым файлам и директориям](#deny-access-to-hidden-files-and-directories)
|
- [Запретить доступ к скрытым файлам и директориям](#Запретить-доступ-к-скрытым-файлам-и-директориям)
|
||||||
- [Запретить доступ к файлам](#deny-access-to-backup-and-source-files)
|
- [Запретить доступ к файлам](#Запретить-доступ-к-файлам)
|
||||||
- [Запретить листинг директорий](#disable-directory-browsing)
|
- [Запретить листинг директорий](#Запретить-листинг-директорий)
|
||||||
- [Запретить хотлинкинг изображений](#disable-image-hotlinking)
|
- [Запретить хотлинкинг изображений](#Запретить-хотлинкинг-изображений)
|
||||||
- [Запретить хотлинкинг изображений для определенных доменов](#disable-image-hotlinking-for-specific-domains)
|
- [Запретить хотлинкинг изображений для определенных доменов](#Запретить-хотлинкинг-изображений-для-определенных-доменов)
|
||||||
- [Защитить паролем директорию](#password-protect-a-directory)
|
- [Защитить паролем директорию](#Защитить-паролем-директорию)
|
||||||
- [Защитить паролем один или несколько файлов](#password-protect-a-file-or-several-files)
|
- [Защитить паролем один или несколько файлов](#Защитить-паролем-один-или-несколько-файлов)
|
||||||
- [Заблокировать посетителя по Referrer](#block-visitors-by-referrer)
|
- [Заблокировать посетителя по Referrer](#Заблокировать-посетителя-по-Referrer)
|
||||||
- [Запретить рендеринг сайта во фрейме](#prevent-framing-the-site)
|
- [Запретить рендеринг сайта во фрейме](#Запретить-рендеринг-сайта-во-фрейме)
|
||||||
- [Производительность](#performance)
|
- [Производительность](#Производительность)
|
||||||
- [Сжатие текстовых файлов](#compress-text-files)
|
- [Сжатие текстовых файлов](#Сжатие-текстовых-файлов)
|
||||||
- [Установить Expires Headers](#set-expires-headers)
|
- [Установить Expires Headers](#Установить-Expires-Headers)
|
||||||
- [Выключить eTags](#turn-etags-off)
|
- [Выключить eTags](#Выключить-eTags)
|
||||||
- [Разное](#miscellaneous)
|
- [Разное](#Разное)
|
||||||
- [Настройка PHP](#set-php-variables)
|
- [Настройка PHP](#Настройка-PHP)
|
||||||
- [Собственные страницы ошибок](#custom-error-pages)
|
- [Пользовательские страницы ошибок](#Пользовательские-страницы-ошибок)
|
||||||
- [Принудительная загрузка (скачивать файл вместо отображения в браузере)](#force-downloading)
|
- [Принудительная загрузка (скачивать файл вместо отображения в браузере)](#Принудительная-загрузка-(скачивать-файл-вместо-отображения-в-браузере))
|
||||||
- [Запретить загрузку (отображать plain в браузере)](#prevent-downloading)
|
- [Запретить загрузку (отображать plain в браузере)](#Запретить-загрузку-(отображать-plain-в-браузере))
|
||||||
- [Разрешить кроссдоменные шрифты](#allow-cross-domain-fonts)
|
- [Разрешить кроссдоменные шрифты](#Разрешить-кроссдоменные-шрифты)
|
||||||
- [Установить кодировку UTF-8](#auto-utf-8-encode)
|
- [Установить по умолчанию кодировку UTF-8](#Установить-по-умолчанию-кодировку-UTF-8)
|
||||||
- [Переключиться на другую версию PHP](#switch-to-another-php-version)
|
- [Переключиться на другую версию PHP](#Переключиться-на-другую-версию-PHP)
|
||||||
- [Отключить режим совместимости в Internet Explorer](#disable-internet-explorer-compatibility-view)
|
- [Выключить режим совместимости в Internet Explorer](#Выключить-режим-совместимости-в-Internet-Explorer)
|
||||||
- [Работа с WebP изображениями](#serve-webp-images)
|
- [Обработка WebP изображений](#Обработка-WebP-изображений)
|
||||||
|
|
||||||
## Rewrite и Redirect
|
## Rewrite и Redirect
|
||||||
Примечание: Предполагается, что модуль `mod_rewrite` установлен и включен.
|
Примечание: Предполагается, что модуль `mod_rewrite` установлен и включен.
|
||||||
|
@ -80,7 +80,7 @@ RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
|
||||||
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
|
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Перенаправление с www на без www для любого протокола (http или https)
|
### Перенаправление с www на без www для http или https
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
RewriteCond %{HTTP_HOST} ^www\.
|
RewriteCond %{HTTP_HOST} ^www\.
|
||||||
|
@ -89,22 +89,22 @@ RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
|
||||||
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
|
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Перенаправление на HTTPS
|
### Принудительное использование HTTPS
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
RewriteCond %{HTTPS} !on
|
RewriteCond %{HTTPS} !on
|
||||||
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
||||||
|
|
||||||
# Note: It’s also recommended to enable HTTP Strict Transport Security (HSTS)
|
# Примечание: Рекомендуется включить HTTP Strict Transport Security (HSTS)
|
||||||
# on your HTTPS website to help prevent man-in-the-middle attacks.
|
# на вашем HTTPS сайте для предотвращения атак посредника (man-in-the-middle).
|
||||||
# See https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
|
# See https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
||||||
</IfModule>
|
</IfModule>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Force HTTPS Behind a Proxy
|
### Принудительное использование HTTPS за прокси
|
||||||
Useful if you have a proxy in front of your server performing TLS termination.
|
Полезно, если вы имеете прокси перед вашим сервером для TLS.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteCond %{HTTP:X-Forwarded-Proto} !https
|
RewriteCond %{HTTP:X-Forwarded-Proto} !https
|
||||||
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
||||||
|
@ -125,14 +125,14 @@ RewriteRule ^ %1 [R=301,L]
|
||||||
```
|
```
|
||||||
[Source](https://stackoverflow.com/questions/21417263/htaccess-add-remove-trailing-slash-from-url#27264788)
|
[Source](https://stackoverflow.com/questions/21417263/htaccess-add-remove-trailing-slash-from-url#27264788)
|
||||||
|
|
||||||
### Redirect a Single Page
|
### Редирект со страницы на страницу
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
Redirect 301 /oldpage.html http://www.example.com/newpage.html
|
Redirect 301 /oldpage.html http://www.example.com/newpage.html
|
||||||
Redirect 301 /oldpage2.html http://www.example.com/folder/
|
Redirect 301 /oldpage2.html http://www.example.com/folder/
|
||||||
```
|
```
|
||||||
[Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
|
[Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
|
||||||
|
|
||||||
### Redirect Using RedirectMatch
|
### Редирект с использованием RedirectMatch
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RedirectMatch 301 /subdirectory(.*) http://www.newsite.com/newfolder/$1
|
RedirectMatch 301 /subdirectory(.*) http://www.newsite.com/newfolder/$1
|
||||||
RedirectMatch 301 ^/(.*).htm$ /$1.html
|
RedirectMatch 301 ^/(.*).htm$ /$1.html
|
||||||
|
@ -146,17 +146,17 @@ RedirectMatch 301 ^/z/(.*)$ http://static.askapache.com/$1
|
||||||
```
|
```
|
||||||
[Source](http://www.askapache.com/htaccess/301-redirect-with-mod_rewrite-or-redirectmatch.html#301_Redirects_RedirectMatch)
|
[Source](http://www.askapache.com/htaccess/301-redirect-with-mod_rewrite-or-redirectmatch.html#301_Redirects_RedirectMatch)
|
||||||
|
|
||||||
### Alias a Single Directory
|
### Алиас для определенной директории
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteRule ^source-directory/(.*) /target-directory/$1 [R=301,L]
|
RewriteRule ^source-directory/(.*) /target-directory/$1 [R=301,L]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Alias Paths To Script
|
### Алиас пути до скрипта
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
FallbackResource /index.fcgi
|
FallbackResource /index.fcgi
|
||||||
```
|
```
|
||||||
This example has an `index.fcgi` file in some directory, and any requests within that directory that fail to resolve a filename/directory will be sent to the `index.fcgi` script. It’s good if you want `baz.foo/some/cool/path` to be handled by `baz.foo/index.fcgi` (which also supports requests to `baz.foo`) while maintaining `baz.foo/css/style.css` and the like. Get access to the original path from the PATH_INFO environment variable, as exposed to your scripting environment.
|
В этом примере приведён файл `index.fcgi`, который лежит в каталоге и все запросы к этому каталогу, которые потерпели неудачу из-за отсутствия файла/директории будут перенаправлены на скрипт `index.fcgi`. Это хорошо, если вы хотите, чтобы `baz.foo/some/cool/path` обрабатывался скриптом `baz.foo/index.fcgi` (который также поддерживает запросы на `baz.foo`) в тоже время поддерживается `baz.foo/css/style.css` и другое подобное. Узнать истинный путь можно из переменной окружения PATH_INFO, которая доступна в скриптах.
|
||||||
|
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
|
@ -165,25 +165,25 @@ RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
|
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
|
||||||
```
|
```
|
||||||
This is a less efficient version of the FallbackResource directive (because using `mod_rewrite` is more complex than just handling the `FallbackResource` directive), but it’s also more flexible.
|
Это менее эффективная версия директивы `FallbackResource` (поскольку использование `mod_rewrite` сложнее, чем просто обработка директивой `FallbackResource`), но также и более гибкое.
|
||||||
|
|
||||||
### Redirect an Entire Site
|
### Редирект всего сайта
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
Redirect 301 / http://newsite.com/
|
Redirect 301 / http://newsite.com/
|
||||||
```
|
```
|
||||||
This way does it with links intact. That is `www.oldsite.com/some/crazy/link.html` will become `www.newsite.com/some/crazy/link.html`. This is extremely helpful when you are just “moving” a site to a new domain. [Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
|
This way does it with links intact. That is `www.oldsite.com/some/crazy/link.html` will become `www.newsite.com/some/crazy/link.html`. This is extremely helpful when you are just “moving” a site to a new domain. [Source](http://css-tricks.com/snippets/htaccess/301-redirects/)
|
||||||
|
|
||||||
### Alias “Clean” URLs
|
### Использовать "чистые" URL
|
||||||
This snippet lets you use “clean” URLs -- those without a PHP extension, e.g. `example.com/users` instead of `example.com/users.php`.
|
Этот сниппет позволяет использовать "чистые" URL -- без расширения .php, например, `example.com/users` вместо `example.com/users.php`.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
RewriteCond %{SCRIPT_FILENAME} !-d
|
RewriteCond %{SCRIPT_FILENAME} !-d
|
||||||
RewriteRule ^([^.]+)$ $1.php [NC,L]
|
RewriteRule ^([^.]+)$ $1.php [NC,L]
|
||||||
```
|
```
|
||||||
[Source](http://www.abeautifulsite.net/access-pages-without-the-php-extension-using-htaccess/)
|
[Источник](http://www.abeautifulsite.net/access-pages-without-the-php-extension-using-htaccess/)
|
||||||
|
|
||||||
## Security
|
## Безопасность
|
||||||
### Deny All Access
|
### Запретить доступ всем
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
## Apache 2.2
|
## Apache 2.2
|
||||||
Deny from all
|
Deny from all
|
||||||
|
@ -194,7 +194,7 @@ Deny from all
|
||||||
|
|
||||||
But wait, this will lock you out from your content as well! Thus introducing...
|
But wait, this will lock you out from your content as well! Thus introducing...
|
||||||
|
|
||||||
### Deny All Access Except Yours
|
### Запретить доступ всем, кроме...
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
## Apache 2.2
|
## Apache 2.2
|
||||||
Order deny,allow
|
Order deny,allow
|
||||||
|
@ -205,11 +205,11 @@ Allow from xxx.xxx.xxx.xxx
|
||||||
# Require all denied
|
# Require all denied
|
||||||
# Require ip xxx.xxx.xxx.xxx
|
# Require ip xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
`xxx.xxx.xxx.xxx` is your IP. If you replace the last three digits with `0/12` for example, this will specify a range of IPs within the same network, thus saving you the trouble to list all allowed IPs separately. [Source](http://speckyboy.com/2013/01/08/useful-htaccess-snippets-and-hacks/)
|
`xxx.xxx.xxx.xxx` - это ваш IP. If you replace the last three digits with `0/12` for example, this will specify a range of IPs within the same network, thus saving you the trouble to list all allowed IPs separately. [Source](http://speckyboy.com/2013/01/08/useful-htaccess-snippets-and-hacks/)
|
||||||
|
|
||||||
Now of course there's a reversed version:
|
Now of course there's a reversed version:
|
||||||
|
|
||||||
### Allow All Access Except Spammers'
|
### Разрешить доступ всем, кроме...
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
## Apache 2.2
|
## Apache 2.2
|
||||||
Order deny,allow
|
Order deny,allow
|
||||||
|
@ -222,7 +222,7 @@ Deny from xxx.xxx.xxx.xxy
|
||||||
# Require not ip xxx.xxx.xxx.xxy
|
# Require not ip xxx.xxx.xxx.xxy
|
||||||
```
|
```
|
||||||
|
|
||||||
### Deny Access to Hidden Files and Directories
|
### Запретить доступ к скрытым файлам и директориям
|
||||||
Hidden files and directories (those whose names start with a dot `.`) should most, if not all, of the time be secured. For example: `.htaccess`, `.htpasswd`, `.git`, `.hg`...
|
Hidden files and directories (those whose names start with a dot `.`) should most, if not all, of the time be secured. For example: `.htaccess`, `.htpasswd`, `.git`, `.hg`...
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||||
|
@ -235,7 +235,7 @@ Alternatively, you can just raise a “Not Found” error, giving the attacker n
|
||||||
RedirectMatch 404 /\..*$
|
RedirectMatch 404 /\..*$
|
||||||
```
|
```
|
||||||
|
|
||||||
### Deny Access to Backup and Source Files
|
### Запретить доступ к файлам
|
||||||
These files may be left by some text/HTML editors (like Vi/Vim) and pose a great security danger if exposed to public.
|
These files may be left by some text/HTML editors (like Vi/Vim) and pose a great security danger if exposed to public.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$">
|
<FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$">
|
||||||
|
@ -248,14 +248,14 @@ These files may be left by some text/HTML editors (like Vi/Vim) and pose a great
|
||||||
# Require all denied
|
# Require all denied
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
```
|
```
|
||||||
[Source](https://github.com/h5bp/server-configs-apache)
|
[Источник](https://github.com/h5bp/server-configs-apache)
|
||||||
|
|
||||||
### Disable Directory Browsing
|
### Запретить листинг директорий
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
Options All -Indexes
|
Options All -Indexes
|
||||||
```
|
```
|
||||||
|
|
||||||
### Disable Image Hotlinking
|
### Запретить хотлинкинг изображений
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
# Remove the following line if you want to block blank referrer too
|
# Remove the following line if you want to block blank referrer too
|
||||||
|
@ -269,7 +269,7 @@ RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
|
||||||
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
|
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Disable Image Hotlinking for Specific Domains
|
### Запретить хотлинкинг изображений для определенных доменов
|
||||||
Sometimes you want to disable image hotlinking from some bad guys only.
|
Sometimes you want to disable image hotlinking from some bad guys only.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
|
@ -282,7 +282,7 @@ RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
|
||||||
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
|
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Password Protect a Directory
|
### Защитить паролем директорию
|
||||||
First you need to create a `.htpasswd` file somewhere in the system:
|
First you need to create a `.htpasswd` file somewhere in the system:
|
||||||
``` bash
|
``` bash
|
||||||
htpasswd -c /home/fellowship/.htpasswd boromir
|
htpasswd -c /home/fellowship/.htpasswd boromir
|
||||||
|
@ -296,7 +296,7 @@ AuthUserFile /home/fellowship/.htpasswd
|
||||||
Require valid-user
|
Require valid-user
|
||||||
```
|
```
|
||||||
|
|
||||||
### Password Protect a File or Several Files
|
### Защитить паролем один или несколько файлов
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
AuthName "One still does not simply"
|
AuthName "One still does not simply"
|
||||||
AuthType Basic
|
AuthType Basic
|
||||||
|
@ -311,7 +311,7 @@ Require valid-user
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Block Visitors by Referrer
|
### Заблокировать посетителя по Referrer
|
||||||
This denies access for all users who are coming from (referred by) a specific domain.
|
This denies access for all users who are coming from (referred by) a specific domain.
|
||||||
[Source](http://www.htaccess-guide.com/deny-visitors-by-referrer/)
|
[Source](http://www.htaccess-guide.com/deny-visitors-by-referrer/)
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
|
@ -322,15 +322,15 @@ RewriteCond %{HTTP_REFERER} anotherdomain\.com
|
||||||
RewriteRule .* - [F]
|
RewriteRule .* - [F]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Prevent Framing the Site
|
### Запретить рендеринг сайта во фрейме
|
||||||
This prevents the website to be framed (i.e. put into an `iframe` tag), when still allows framing for a specific URI.
|
This prevents the website to be framed (i.e. put into an `iframe` tag), when still allows framing for a specific URI.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
SetEnvIf Request_URI "/starry-night" allow_framing=true
|
SetEnvIf Request_URI "/starry-night" allow_framing=true
|
||||||
Header set X-Frame-Options SAMEORIGIN env=!allow_framing
|
Header set X-Frame-Options SAMEORIGIN env=!allow_framing
|
||||||
```
|
```
|
||||||
|
|
||||||
## Performance
|
## Производительность
|
||||||
### Compress Text Files
|
### Сжатие текстовых файлов
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<IfModule mod_deflate.c>
|
<IfModule mod_deflate.c>
|
||||||
|
|
||||||
|
@ -372,7 +372,7 @@ Header set X-Frame-Options SAMEORIGIN env=!allow_framing
|
||||||
[Source](https://github.com/h5bp/server-configs-apache)
|
[Source](https://github.com/h5bp/server-configs-apache)
|
||||||
|
|
||||||
|
|
||||||
### Set Expires Headers
|
### Установить Expires Headers
|
||||||
_Expires headers_ tell the browser whether they should request a specific file from the server or just grab it from the cache. It is advisable to set static content's expires headers to something far in the future.
|
_Expires headers_ tell the browser whether they should request a specific file from the server or just grab it from the cache. It is advisable to set static content's expires headers to something far in the future.
|
||||||
|
|
||||||
If you don’t control versioning with filename-based cache busting, consider lowering the cache time for resources like CSS and JS to something like 1 week. [Source](https://github.com/h5bp/server-configs-apache)
|
If you don’t control versioning with filename-based cache busting, consider lowering the cache time for resources like CSS and JS to something like 1 week. [Source](https://github.com/h5bp/server-configs-apache)
|
||||||
|
@ -428,8 +428,8 @@ If you don’t control versioning with filename-based cache busting, consider lo
|
||||||
</IfModule>
|
</IfModule>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Turn eTags Off
|
### Выключить eTags
|
||||||
By removing the `ETag` header, you disable caches and browsers from being able to validate files, so they are forced to rely on your `Cache-Control` and `Expires` header. [Source](http://www.askapache.com/htaccess/apache-speed-etags.html)
|
Удаляя заголовок `ETag`, вы выключаете кэш и избавляете возможности проверять браузером файлы, следовательно они будут полагаться на заголовки `Cache-Control` и `Expires`. [Источник](http://www.askapache.com/htaccess/apache-speed-etags.html)
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
Header unset ETag
|
Header unset ETag
|
||||||
|
@ -437,26 +437,26 @@ By removing the `ETag` header, you disable caches and browsers from being able t
|
||||||
FileETag None
|
FileETag None
|
||||||
```
|
```
|
||||||
|
|
||||||
## Miscellaneous
|
## Разное
|
||||||
|
|
||||||
### Set PHP Variables
|
### Настройка PHP
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
php_value <key> <val>
|
php_value <key> <val>
|
||||||
|
|
||||||
# For example:
|
# Например:
|
||||||
php_value upload_max_filesize 50M
|
php_value upload_max_filesize 50M
|
||||||
php_value max_execution_time 240
|
php_value max_execution_time 240
|
||||||
```
|
```
|
||||||
|
|
||||||
### Custom Error Pages
|
### Пользовательские страницы ошибок
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
ErrorDocument 500 "Houston, we have a problem."
|
ErrorDocument 500 "Хьюстон, у нас проблемы."
|
||||||
ErrorDocument 401 http://error.example.com/mordor.html
|
ErrorDocument 401 http://error.example.com/mordor.html
|
||||||
ErrorDocument 404 /errors/halflife3.html
|
ErrorDocument 404 /errors/halflife3.html
|
||||||
```
|
```
|
||||||
|
|
||||||
### Force Downloading
|
### Принудительная загрузка (скачивать файл вместо отображения в браузере)
|
||||||
Sometimes you want to force the browser to download some content instead of displaying it.
|
Иногда нужно загрузить запрашиваемый файл, а не отображать его в браузере.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<Files *.md>
|
<Files *.md>
|
||||||
ForceType application/octet-stream
|
ForceType application/octet-stream
|
||||||
|
@ -464,18 +464,18 @@ Sometimes you want to force the browser to download some content instead of disp
|
||||||
</Files>
|
</Files>
|
||||||
```
|
```
|
||||||
|
|
||||||
Now there is a yang to this yin:
|
А ниже сниппет, который делает это с точностью до наоборот:
|
||||||
|
|
||||||
### Prevent Downloading
|
### Запретить загрузку (отображать plain в браузере)
|
||||||
Sometimes you want to force the browser to display some content instead of downloading it.
|
Иногда нужно отобразить запрашиваемый файл в браузере, а не загружать его.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<FilesMatch "\.(tex|log|aux)$">
|
<FilesMatch "\.(tex|log|aux)$">
|
||||||
Header set Content-Type text/plain
|
Header set Content-Type text/plain
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Allow Cross-Domain Fonts
|
### Разрешить кроссдоменные шрифты
|
||||||
CDN-served webfonts might not work in Firefox or IE due to [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing). This snippet solves the problem.
|
Шрифты, которые хранятся на CDN серверах, могут не работать в Firefox и IE из-за [CORS](https://ru.wikipedia.org/wiki/Cross-origin_resource_sharing). Данный сниппет решает эту проблему.
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
<FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
|
<FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
|
||||||
|
@ -483,30 +483,30 @@ CDN-served webfonts might not work in Firefox or IE due to [CORS](https://en.wik
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
</IfModule>
|
</IfModule>
|
||||||
```
|
```
|
||||||
[Source](https://github.com/h5bp/server-configs-apache/issues/32)
|
[Источник](https://github.com/h5bp/server-configs-apache/issues/32)
|
||||||
|
|
||||||
### Auto UTF-8 Encode
|
### Установить по умолчанию кодировку UTF-8
|
||||||
Your text content should always be UTF-8 encoded, no?
|
Ваш текстовый контент должен быть всегда закодирован в UTF-8, не так ли?
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
# Use UTF-8 encoding for anything served text/plain or text/html
|
# Используйте кодировку UTF-8 для обработки text/plain или text/html
|
||||||
AddDefaultCharset utf-8
|
AddDefaultCharset utf-8
|
||||||
|
|
||||||
# Force UTF-8 for a number of file formats
|
# Принудительное использование UTF-8 для различных файлов
|
||||||
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
|
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
|
||||||
```
|
```
|
||||||
[Source](https://github.com/h5bp/server-configs-apache)
|
[Источник](https://github.com/h5bp/server-configs-apache)
|
||||||
|
|
||||||
### Switch to Another PHP Version
|
### Переключиться на другую версию PHP
|
||||||
If you’re on a shared host, chances are there are more than one version of PHP installed, and sometimes you want a specific version for your website. The following snippet should switch the PHP version for you.
|
Если вы используете шаред хостинг, вполне вероятно, что там установлено несколько версий PHP. Но вам нужна конкретная версия PHP для вашего веб-сайта. Этот сниппет должен переключить PHP версию.
|
||||||
|
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
AddHandler application/x-httpd-php56 .php
|
AddHandler application/x-httpd-php56 .php
|
||||||
|
|
||||||
# Alternatively, you can use AddType
|
# В качестве альтернативы вы можете использовать AddType
|
||||||
AddType application/x-httpd-php56 .php
|
AddType application/x-httpd-php56 .php
|
||||||
```
|
```
|
||||||
|
|
||||||
### Disable Internet Explorer Compatibility View
|
### Выключить режим совместимости в Internet Explorer
|
||||||
Compatibility View in IE may affect how some websites are displayed. The following snippet should force IE to use the Edge Rendering Engine and disable the Compatibility View.
|
Compatibility View in IE may affect how some websites are displayed. The following snippet should force IE to use the Edge Rendering Engine and disable the Compatibility View.
|
||||||
|
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
|
@ -516,8 +516,8 @@ Compatibility View in IE may affect how some websites are displayed. The followi
|
||||||
</IfModule>
|
</IfModule>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Serve WebP Images
|
### Обработка WebP изображений
|
||||||
If [WebP images](https://developers.google.com/speed/webp/?csw=1) are supported and an image with a .webp extension and the same name is found at the same place as the jpg/png image that is going to be served, then the WebP image is served instead.
|
Если [WebP изображения](https://developers.google.com/speed/webp/?csw=1) поддерживаюся и изображения с расширениями .webp и теми же именами найдены в том же месте, где и изображения jpg/png, которые нужно отправить, то тогда вместо них отправляются изображения WebP.
|
||||||
|
|
||||||
``` apacheconf
|
``` apacheconf
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
|
@ -525,4 +525,4 @@ RewriteCond %{HTTP_ACCEPT} image/webp
|
||||||
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
|
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
|
||||||
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
|
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
|
||||||
```
|
```
|
||||||
[Source](https://github.com/vincentorback/WebP-images-with-htaccess)
|
[Источник](https://github.com/vincentorback/WebP-images-with-htaccess)
|
||||||
|
|
Loading…
Reference in a new issue