кодесурса

32 полезных директивы .htaccess

script1adsense2code
script1adsense3code

.htaccess часто требуется отредактировать для настройки вашего веб-сервера - от безопасности до перенаправления на повышение производительности. Вот список нескольких очень полезных директив.

расшифровка

Переписать и перенаправить

Как заставить www

ПереписатьEngine на
RewriteCond% {HTTP_HOST} ^ пример / .com [NC]
RewriteRule ^ (. *) $ Http://www.example.com/$1 [L, R = 301, NC]

Как заставить www в общих чертах

RewriteCond% {HTTP_HOST}! ^ $
RewriteCond% {HTTP_HOST}! ^ Www /. [NC]
RewriteCond% {HTTPS} s ^ on (s) |
RewriteRule ^ http% 1: //www.% {HTTP_HOST}% {REQUEST_URI} [R = 301, L]

Как заставить не-www

ПереписатьEngine на
RewriteCond% {HTTP_HOST} ^ www / .example / .com [NC]
RewriteRule ^ (. *) $ Http://example.com/$1 [L, R = 301]

Как заставить не-WW в общем роде

ПереписатьEngine на
RewriteCond% {HTTP_HOST} ^ www /.
RewriteCond% {HTTPS} s ^ on (s) | off
RewriteCond http% 1: //% {HTTP_HOST} ^ (https?: //) (www /.)? (. +) $
RewriteRule ^% 1% 3% {REQUEST_URI} [R = 301, L]

Как заставить HTTPS

ПереписатьEngine на
RewriteCond% {HTTPS}! On
RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI}

Как заставить HTTPS за прокси

RewriteCond% {HTTP: X-Forwarded-Proto}! Https
RewriteRule (. *) Https: //% {HTTP_HOST}% {REQUEST_URI}

Как заставить косую черту

RewriteCond% {REQUEST_URI} /+[^/.]+$
RewriteRule ^ (. + [^ /]) $% {REQUEST_URI} / [R = 301, L]

Как перенаправить одну страницу

Redirect 301 /oldpage.html http://www.yoursite.com/newpage.html
Redirect 301 /oldpage2.html http://www.yoursite.com/folder/

Как псевдоним одного каталога

RewriteEngine On
RewriteRule ^ source-directory /(.*) target-directory / $ 1

Как псевдоним пути к сценарию

RewriteEngine On
RewriteRule ^ $ index.fcgi / [QSA, L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule ^ (. *) $ Index.fcgi / $ 1 [QSA, L]

Как перенаправить весь сайт

Redirect 301 / http://newsite.com/

Как псевдоним "Чистый" URL

RewriteEngine On
RewriteCond% {SCRIPT_FILENAME}! -D
RewriteRule ^ ([^.] +) $ $ 1.php [NC, L]

Безопасность

Как запретить доступ

## Apache 2.2
Отрицать все
## Apache 2.4
# Требовать все отказано

Как запретить любой доступ, кроме вашего

## Apache 2.2
Заказать отказать, разрешить
Отрицать все
Разрешить из xxx.xxx.xxx.xxx
## Apache 2.4
# Требовать все отказано
# Требуется ip xxx.xxx.xxx.xxx

Как разрешить доступ всем, кроме спамеров

## Apache 2.2
Заказать отказать, разрешить
Разрешить от всех
Запретить от xxx.xxx.xxx.xxx
Запретить от xxx.xxx.xxx.xxy
## Apache 2.4
# Требовать все предоставленные
# Требовать не ip xxx.xxx.xxx.xxx
# Требовать не ip xxx.xxx.xxx.xxy

Как запретить доступ к скрытым файлам и каталогам

RewriteCond% {SCRIPT_FILENAME} -d [ИЛИ]
RewriteCond% {SCRIPT_FILENAME} -f
RewriteRule "(^ | /) /." - [F]
RedirectMatch 404 //..*$]

Как запретить доступ к резервным и исходным файлам

<FilesMatch "(/. (Bak | config | dist | fla | inc | ini | log | psd | sh | sql | swp) | ~) $">
## Apache 2.2
Заказать разрешить, отказать
Отрицать все
Удовлетворить все
## Apache 2.4
# Требовать все отказано

Как отключить просмотр каталогов

Опции Все Индексы

Как отключить хотлинкинг изображений

ПереписатьEngine на
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www /.)? Yourdomain.com [NC]
RewriteRule /.(jpg|jpeg|png|gif)$ - [NC, F, L]

Как защитить паролем каталог

htpasswd -c /home/fellowship/.htpasswd boromir
AuthType Basic
AuthName "Не просто"
AuthUserFile /home/fellowship/.htpasswd
Требуется действительный пользователь

Как защитить паролем файл или несколько файлов

AuthName "Один до сих пор не просто"
AuthType Basic
AuthUserFile /home/fellowship/.htpasswd
<Файлы "one-ring.o">
Требуется действительный пользователь
</ Files>
<FilesMatch ^ ((одна | две | три) -кольца? /. O) $>
Требуется действительный пользователь
</ FilesMatch>

Спектакль

Сжатие текстовых файлов

 <IfModule mod_deflate.c>
# Сжатие силы для искаженных заголовков.
# http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^ (Accept-EncodXng | X-cept-Encoding | X {15} | ~ {15} | - {15}) $ ^ ((gzip | deflate) / s *,? / S *) + | [X ~ -] {4,13} $ HAVE_Accept-Encoding
RequestHeader добавить Accept-Encoding "gzip, deflate" env = HAVE_Accept-Encoding
</ IfModule>
</ IfModule>
# Сжать все выходные данные, помеченные одним из следующих MIME-типов
# (для версий Apache ниже 2.3.7 вам не нужно включать `mod_filter`
# и может удалить строки `<IfModule mod_filter.c>` и `</ IfModule>`
# as `AddOutputFilterByType` все еще находится в основных директивах).
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application / atom + xml /
приложение / javascript /
приложение / JSON /
приложение / rss + xml /
application / vnd.ms-fontobject /
application / x-font-ttf /
application / x-web-app-manifest + json /
application / xhtml + xml /
application / xml /
font / opentype /
image / svg + xml /
изображение / x-icon /
текст / CSS /
text / html /
текст / простой /
текст / х-компонент /
текст / XML
</ IfModule>
</ IfModule>

Установить заголовки Expires

Установив заголовки expire, вы можете использовать кеширование в браузере

 <IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "доступ плюс 1 месяц"
# CSS
ExpiresByType text / css "доступ плюс 1 год"
# Обмен данными
Приложение ExpiresByType / json "доступ плюс 0 секунд"
Приложение ExpiresByType / xml "доступ плюс 0 секунд"
ExpiresByType text / xml "доступ плюс 0 секунд"
# Фавикон (не может быть переименован!)
ExpiresByType image / x-icon "доступ плюс 1 неделя"
# HTML-компоненты (HTC)
ExpiresByType text / x-component "доступ плюс 1 месяц"
# HTML
ExpiresByType text / html "доступ плюс 0 секунд"
# JavaScript
Приложение ExpiresByType / javascript "доступ плюс 1 год"
# Манифест файлов
Приложение ExpiresByType / x-web-app-manifest + json "доступ плюс 0 секунд"
ExpiresByType text / cache-manifest "доступ плюс 0 секунд"
# Средства массовой информации
ExpiresByType audio / ogg "доступ плюс 1 месяц"
ExpiresByType image / gif "доступ плюс 1 месяц"
ExpiresByType image / jpeg "Доступ плюс 1 месяц"
ExpiresByType image / png "доступ плюс 1 месяц"
ExpiresByType video / mp4 "доступ плюс 1 месяц"
ExpiresByType video / ogg "доступ плюс 1 месяц"
ExpiresByType видео / вебм "доступ плюс 1 месяц"
# Веб-каналы
Приложение ExpiresByType / atom + xml "доступ плюс 1 час"
Приложение ExpiresByType / rss + xml "доступ плюс 1 час"
# Веб-шрифты
Приложение ExpiresByType / font-woff2 "доступ плюс 1 месяц"
Приложение ExpiresByType / font-woff "доступ плюс 1 месяц"
Приложение ExpiresByType / vnd.ms-fontobject "доступ плюс 1 месяц"
Приложение ExpiresByType / x-font-ttf "доступ плюс 1 месяц"
Шрифт ExpiresByType / opentype "доступ плюс 1 месяц"
ExpiresByType image / svg + xml "доступ плюс 1 месяц"
</ IfModule>

Выключить электронные тэги

Опуская ETag, вы заставляете быть зависимыми от заголовков Expires и управления кешем
<IfModule mod_headers.c> Заголовок сброшен ETag </ IfModule> FileETag Нет

Разнообразный

Как установить переменные PHP

php_value
# Например:
php_value upload_max_filesize 50M
php_value max_execution_time 240

Как настраивать страницы ошибок

ErrorDocument 500 «Хьюстон, у нас проблема».
ErrorDocument 401 http://error.yourdomain.com/mordor.html
ErrorDocument 404 /errors/halflife3.html

Как заставить загрузку

<Files * .md> Приложение ForceType / octet-stream Набор заголовков вложения Content-Disposition </ Files>

Как предотвратить загрузку

<FilesMatch "/. (Tex | log | aux) $"> Набор заголовков Content-Type text / plain </ FilesMatch>

Как разрешить междоменные шрифты

 <IfModule mod_headers.c>
<FilesMatch "/. (Eot | otf | ttc | ttf | woff | woff2) $">
Набор заголовков Access-Control-Allow-Origin "*"
</ FilesMatch>
</ IfModule>

Как автоматически кодировать UTF-8

# Используйте кодировку UTF-8 для всего обслуживаемого текста / обычного или text / html AddDefaultCharset utf-8
# Принудительно использовать UTF-8 для ряда форматов файлов
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Как перейти на другую версию PHP

Приложение AddHandler / x-httpd-php55 .php
# В качестве альтернативы вы можете использовать AddType
Приложение AddType / x-httpd-php55 .php

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code