Лучшая коллекция кода для вашего .htaccess файла [закрыта]

У нас есть Лучшая коллекция кода для вашего functions.php file , поэтому я подумал, что было бы полезно создать поток для наших файлов .htaccess.

И ПОЖАЛУЙСТА, ПОМНИТЕ, ЧТОБЫ ДОБАВИТЬ ЛЮБЫЕ ИЗ СОБСТВЕННЫХ СНИПЛЕЦ НА ЭТОМ СПИСКЕ

61 голос | спросил 4 revs, 2 users 93%
Dan Gayle
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

7 ответов


21

Это 3 фрагмента для лучшей производительности, в отношении Yahoo! правила:

Отключить Etags:

Header unset ETag
FileETag Нет

Добавить заголовки истечения срока действия:

<FilesMatch "\. (ico | jpg | jpeg | png | gif | js | css | swf) $">
Header set Expires "Tue, 16 Jun 2020 20:00:00 GMT"
& Lt; /FilesMatch >

или

ExpiresActive On
ExpiresByType text /html "доступ плюс 1 день"
ExpiresByType image /gif "доступ плюс 10 лет"
ExpiresByType image /jpeg "доступ плюс 10 лет"
ExpiresByType image /png "доступ плюс 10 лет"
ExpiresByType text /css "доступ плюс 10 лет"
ExpiresByType text /javascript «доступ плюс 10 лет»
Приложение ExpiresByType /x-javascript «доступ плюс 10 лет»

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

<FilesMatch "\. (js | css | html | htm | php | xml) $">
SetOutputFilter DEFLATE
& Lt; /FilesMatch >

Подробнее о них здесь .

Обновлено:

Перенаправить запросы в домен www

RewriteCond% {HTTP_HOST}! ^ www \ .domain \ .tld [NC]
RewriteRule ^ (. *) $ Http: //www.domain.tld/$1 [R = 301, L]

Запрос блока на xmlrpc.php

Используйте это, только если вы не используете удаленную публикацию, так как это может помешать вашему блогу взломать.

RewriteRule ^ (. *) xmlrpc \ .php $ http: //www.domain.tld [R = 301, L]

Перенаправить все каналы в feedburner

RewriteCond% {HTTP_USER_AGENT}! ^. * (FeedBurner | FeedValidator) [NC]
RewriteRule ^ feed /?.*$ http://feeds.feedburner.com/feed_uri [R = 301, NC, L]
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
12

Лучше переписать правила для постоянных ссылок WordPress

По умолчанию WordPress отправляет 404 HTML-страницу для недостающих изображений и таблиц стилей - они никогда не отображаются браузером. И он ловит ваши символические ссылки.

# Изображения, таблицы стилей и т. д. не нужны HTML 404
RewriteCond% {REQUEST_URI}!. + \. \ W {2,4} $
# Существующий файл
RewriteCond% {REQUEST_FILENAME}! -F
# Существующий каталог
RewriteCond% {REQUEST_FILENAME}! -D
# Символическая ссылка
RewriteCond% {REQUEST_FILENAME}! -L
RewriteRule ^ index.php [L]
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
8

сжатие GZip

сжатие GZip

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text /html text /plain text /xml text /css application /x-javascript
    BrowserMatch ^ Mozilla /4 gzip-only-text /html
    BrowserMatch ^ Mozilla /4 \ .0 [678] no-gzip
    BrowserMatch \ bMSIE! No-gzip! Gzip-only-text /html
& Lt; /IfModule >
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
8

Некоторые основные сведения о безопасности.

 # ограничение индексации каталогов
Параметры Все -Indexes

# защитить файл htaccess,
# это делается по умолчанию с конфигурационным файлом apache,
#, но вы никогда не знаете.
<файлы .htaccess>
разрешить заказ, отрицать
отказывать всем
& Lt; /файлы >

# отключить подпись сервера
ServerSignature Off

# ограничение загрузки файлов в 10mb
LimitRequestBody 10240000

# защитить wpconfig.php.
<файлы wp-config.php>
разрешить заказ, отрицать
отказывать всем
& Lt; /файлы >

# Ограничение входа и администрирование по IP
# это входит в папку /admin, а не в корневую папку .htaccess
<Limit GET POST PUT>
запретить порядок, разрешить
отказывать всем
разрешить из xx.xx.xx.xx //(ваш статический IP-адрес)
& Lt; /концевые >

# блокировать строки с плохими запросами (хакеры /боты), помните, что это может сломать некоторые плагины
# QUERY STRING EXPLOITS
<IfModule mod_rewrite.c>
 RewriteCond% {QUERY_STRING} \. \. \ /[NC, OR]
 RewriteCond% {QUERY_STRING} boot \ .ini [NC, OR]
 RewriteCond% {QUERY_STRING} \ = [NC, OR]
 RewriteCond% {QUERY_STRING} ftp \: [NC, OR]
 RewriteCond% {QUERY_STRING} http \: [NC, OR]
 RewriteCond% {QUERY_STRING} https \: [NC, OR]
 RewriteCond% {QUERY_STRING} mosConfig [NC, OR]
 RewriteCond% {QUERY_STRING} ^. * (\ [| \] | \ (| \) | & Lt; |> | '| "|; | \? \ \ *). * [NC, OR]
 RewriteCond% {QUERY_STRING} ^. * (% 22 |% 27 |% 3C |% 3E |% 5C |% 7B |% 7C). * [NC, OR]
 RewriteCond% {QUERY_STRING} ^. * (% 0 |% A |% B |% C |% D |% E |% F | 127 \ .0). * [NC, OR]
 RewriteCond% {QUERY_STRING} ^. * (Globals | encode | config | localhost | loopback). * [NC, OR]
 RewriteCond% {QUERY_STRING} ^. * (Запрос | select | insert | union | declare | drop). * [NC]
 RewriteRule ^ (. *) $ - [F, L]
& Lt; /IfModule >
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
6

Перенаправления и довольно постоянные ссылки без mod_rewrite

# - скрипты kiddies

Перенаправить постоянный /admin.php http: //localhost
Перенаправить постоянный /_vti_bin http: //localhost
Перенаправить постоянный /css http: //localhost
Перенаправить постоянный /сайт http: //localhost
Перенаправить постоянный /s /http: //localhost
Перенаправить постоянный /v /http: //localhost
Перенаправить постоянный /html http: //localhost
Перенаправить постоянный /стиль http: //localhost
Перенаправить постоянный /wp-content/cache.php http: //localhost


# - глупые роботы

Перенаправить постоянный /sitemap.gz /sitemap.xml.gz
Перенаправить постоянный /default.htm /
Перенаправление постоянных /фидов /сообщений /default /feed /

- Усечение URL

RedirectMatch Permanent ^ /page /$ /
# /category /and /comments /to TOC
RedirectMatch Permanent ^ /(категория | комментарии) /$ /uebersicht /

# Git только! :)
RedirectMatch Permanent \. (Svn | cvs | SVN | CVS | bzr) http: //localhost

# Боты, ищущие мобильные версии
# см. http://perishablepress.com/press/2010/04/26/stop-404-requests-for-mobile-versions-of-your-site/#comment-78105
RedirectMatch ушел /mobi (le)? ($ | /)
RedirectMatch ушел /iphone ($ | /)

# - 410

# Старые корма мертвы
Перенаправление отправлено /2008 /feed /
Перенаправление отправлено /2009 /feed /
Перенаправление отправлено /2010 /feed /

# глупых ботов и браузеров снова

Перенаправление отправлено /crossdomain.xml
Перенаправление отправлено /labels.rdf
Перенаправление отправлено /.
Перенаправление отправлено /родительская страница
RedirectMatch ушел. * /Config $

# Довольно permalinks без mod_rewrite!
ErrorDocument 404 /index.php
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
4

Опечатки

#Подробнее показать адрес электронной почты администратора в сообщении об ошибке
SetEnv SERVER_ADMIN [email protected]

#disable hotlinking изображений с запрещенным или настраиваемым вариантом изображения
RewriteEngine on
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Http: //(www \.)? Yoursite.com /.*$ [NC]
#RewriteRule \. (Gif | jpg | png) $ - [F]
#RewriteRule \. (Gif | jpg | png) $ http://www.yoursite.com/wp-content/uploads/2011/04/bracker_thou_shalt_not_steal24.jpg [R, L]

#block ссылающиеся домены
#RewriteEngine on
#RewriteCond% {HTTP_REFERER} digg \ .com [NC]
#RewriteRule. * - [F]

#Remove /category /из вашего URL-адреса WordPress
RewriteRule ^ category /(.+)$ http://www.yourblog.com/$1 [R = 301, L]

#Redirect посетителей страницы обслуживания
RewriteEngine on
RewriteCond% {REQUEST_URI}! /Maintenance.html$
RewriteCond% {REMOTE_ADDR}! ^ 123 \ .123 \ .123 \ .123
RewriteRule $ /maintenance.html [R = 302, L]

# автоматическая корректировка простых орфографических ошибок URL
<IfModule mod_speling.c>
CheckSpelling On
& Lt; /IfModule >

#better логин
RewriteRule ^ login $ http://example.com/wp-login.php [NC, L]
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19
3

Это что-то более защищенное, и я вам это нравится

# BEGIN Кэш-папка Wordpress
<IfModule mod_mime.c>
    Текст AddType /css .css
    Приложение AddType /x-javascript .js
    Текст AddType /x-компонент .htc
    Текст AddType /html .html .htm
    Текст AddType /richtext .rtf .rtx
    AddType image /svg + xml .svg .svgz
    Текст AddType /plain .txt
    Текст AddType /xsd .xsd
    Текст AddType /xsl .xsl
    AddType text /xml .xml
    AddType video /asf .asf .asx .wax .wmv .wmx
    AddType video /avi .avi
    AddType image /bmp .bmp
    Приложение AddType /java .class
    AddType video /divx .divx
    Приложение AddType /msword .doc .docx
    Приложение AddType /vnd.ms-fontobject .eot
    Приложение AddType /x-msdownload .exe
    AddType image /gif .gif
    Приложение AddType /x-gzip .gz .gzip
    Изображение AddType /x-icon .ico
    AddType image /jpeg .jpg .jpeg .jpe
    Приложение AddType /vnd.ms-access .mdb
    AddType audio /midi .mid .midi
    AddType video /quicktime .mov .qt
    AddType audio /mpeg .mp3 .m4a
    AddType video /mp4 .mp4 .m4v
    AddType video /mpeg .mpeg .mpg .mpe
    Приложение AddType /vnd.ms-project .mpp
    Приложение AddType /x-font-otf .otf
    Приложение AddType /vnd.oasis.opendocument.database .odb
    Приложение AddType /vnd.oasis.opendocument.chart .odc
    Приложение AddType /vnd.oasis.opendocument.formula .odf
    Приложение AddType /vnd.oasis.opendocument.graphics .odg
    Приложение AddType /vnd.oasis.opendocument.presentation .odp
    Приложение AddType /vnd.oasis.opendocument.spreadsheet .ods
    Приложение AddType /vnd.oasis.opendocument.text .odt
    AddType audio /ogg .ogg
    Приложение AddType /pdf .pdf
    AddType image /png .png
    Приложение AddType /vnd.ms-powerpoint .pot .pps .ppt .pptx
    AddType audio /x-realaudio .ra .ram
    Приложение AddType /x-shockwave-flash .swf
    Приложение AddType /x-tar .tar
    AddType image /tiff .tif .tiff
    Приложение AddType /x-font-ttf .ttf .ttc
    AddType audio /wav .wav
    AddType audio /wma .wma
    Приложение AddType /vnd.ms-write .wri
    Приложение AddType /vnd.ms-excel .xla .xls .xlsx .xlt .xlw
    Приложение AddType /zip .zip
& Lt; /IfModule >
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text /css A31536000
    Приложение ExpiresByType /x-javascript A31536000
    ExpiresByType text /x-component A31536000
    ExpiresByType text /html A3600
    ExpiresByType text /richtext A3600
    ExpiresByType image /svg + xml A3600
    ExpiresByType text /plain A3600
    ExpiresByType text /xsd A3600
    ExpiresByType text /xsl A3600
    ExpiresByType text /xml A3600
    ExpiresByType video /asf A31536000
    ExpiresByType video /avi A31536000
    ExpiresByType image /bmp A31536000
    Приложение ExpiresByType /java A31536000
    ExpiresByType video /divx A31536000
    Приложение ExpiresByType /msword A31536000
    Приложение ExpiresByType /vnd.ms-fontobject A31536000
    Приложение ExpiresByType /x-msdownload A31536000
    ExpiresByType image /gif A31536000
    Приложение ExpiresByType /x-gzip A31536000
    ExpiresByType image /x-icon A31536000
    ExpiresByType image /jpeg A31536000
    Приложение ExpiresByType /vnd.ms-access A31536000
    ExpiresByType аудио /midi A31536000
    ExpiresByType video /quicktime A31536000
    ExpiresByType audio /mpeg A31536000
    ExpiresByType video /mp4 A31536000
    ExpiresByType video /mpeg A31536000
    Приложение ExpiresByType /vnd.ms-project A31536000
    Приложение ExpiresByType /x-font-otf A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.database A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.chart A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.formula A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.graphics A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.presentation A31536000
    Приложение ExpiresByType /vnd.oasis.opendocument.spreadsheet A31536000
    ExpiresByType application /vnd.oasis.opendocument.text A31536000
    ExpiresByType audio /ogg A31536000
    ExpiresByType application /pdf A31536000
    ExpiresByType image /png A31536000
    Приложение ExpiresByType /vnd.ms-powerpoint A31536000
    ExpiresByType audio /x-realaudio A31536000
    ExpiresByType image /svg + xml A31536000
    Приложение ExpiresByType /x-shockwave-flash A31536000
    Приложение ExpiresByType /x-tar A31536000
    ExpiresByType image /tiff A31536000
    Приложение ExpiresByType /x-font-ttf A31536000
    ExpiresByType аудио /wav A31536000
    ExpiresByType аудио /wma A31536000
    Приложение ExpiresByType /vnd.ms-write A31536000
    ExpiresByType application /vnd.ms-excel A31536000
    Приложение ExpiresByType /zip A31536000
& Lt; /IfModule >
<IfModule mod_deflate.c>
    <IfModule mod_setenvif.c>
        BrowserMatch ^ Mozilla /4 gzip-only-text /html
        BrowserMatch ^ Mozilla /4 \ .0 [678] no-gzip
        BrowserMatch \ bMSIE! No-gzip! Gzip-only-text /html
        BrowserMatch \ bMSI [E]! No-gzip! Gzip-only-text /html
    & Lt; /IfModule ><IfModule mod_headers.c>
        Заголовок добавить Vary User-Agent env =! Dont-vary
    & Lt; /IfModule >
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text /css application /x-javascript text /x-component text /html text /richtext image /svg + xml text /plain text /xsd text /xsl text /xml image /x-icon
    & Lt; /IfModule >
& Lt; /IfModule >
<FilesMatch "\. (css | js | htc | CSS | JS | HTC) $">
    <IfModule mod_headers.c>
        Набор заголовков Pragma "public"
        Заголовок добавляет Cache-Control "public, must-revalidate, proxy-revalidate"
    & Lt; /IfModule >
    Размер файла FileETag
    <IfModule mod_headers.c>
         Набор заголовков X-Powered-By «Общий кэш W3 /0.9.2.4»
    & Lt; /IfModule >
& Lt; /FilesMatch >
<FilesMatch "\. (html | htm | rtf | rtx | svg | svgz | txt | xsd | xsl | xml | HTML | HTM | RTF | RTX | SVG | SVGZ | TXT | XSD | XSL | XML) $"> ;
    <IfModule mod_headers.c>
        Набор заголовков Pragma "public"
        Заголовок добавляет Cache-Control "public, must-revalidate, proxy-revalidate"
    & Lt; /IfModule >
    Размер файла FileETag
    <IfModule mod_headers.c>
         Набор заголовков X-Powered-By «Общий кэш W3 /0.9.2.4»
    & Lt; /IfModule >
& Lt; /FilesMatch >
<FilesMatch "\. (asf | asx | wax | wmv | wmx | avi | bmp | class | divx | doc | docx | eot | exe | gif | gz | gzip | ico | jpg | jpeg | jpe | mdb | mid | миди | мы | кварта | mp3 | m4a | mp4 | m4v | MPEG | мили на галлон | П | MPP | OTF | ODB | ODC | ODF | КГД | ODP | в.п.с. | а.с. | OGG | PDF | PNG | банк | имп | п.п. | PPTX | ра | овен | SVG | SVGZ | швейцарские франки | деготь | TIF | размолвка | TTF | TTC | WAV | WMA | ВИРЫ | XLA | XLS | XLSX | хъ | XLW | застежка-молния | ASF | ASX | WAX | WMV | WMX | AVI | BMP | CLASS | DIVX | DOC | DOCX | СРВ | EXE | GIF | GZ | GZIP | ICO | JPG | JPEG | JPE | MDB | MID | MIDI | MOV | QT | MP3 | M4A | MP4 | M4V | MPEG | МПГ | П | МРР | ОПФ | ODB | ОДС | ODF | КГД | ОРС | ОДС | ODT | OGG | PDF | PNG | ПОТ | ПФС | РРТ | PPTX | РА | ОЗУ | SVG | SVGZ | SWF | ТАРЫ | TIF | TIFF | TTF | TTC | WAV | WMA | ВИР | XLA | XLS | XLSX | XLT | XLW | ZIP) $ ">
    <IfModule mod_headers.c>
        Набор заголовков Pragma "public"
        Заголовок добавляет Cache-Control "public, must-revalidate, proxy-revalidate"
    & Lt; /IfModule >
    Размер файла FileETag
    <IfModule mod_headers.c>
         Набор заголовков X-Powered-By «Общий кэш W3 /0.9.2.4»
    & Lt; /IfModule >
& Lt; /FilesMatch >
# END Word Browser Cache
# BEGIN Wordpress Страница Кэш-память
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^ (. * \ /)? Wordpress_rewrite_test $ $ 1? Wordpress_rewrite_test = 1 [L]
    RewriteCond% {HTTP: Accept-Encoding} gzip
    RewriteRule. * - [E = Wordpress_ENC: _gzip]
    RewriteCond% {REQUEST_METHOD}! = POST
    RewriteCond% {QUERY_STRING} = ""
    RewriteCond% {HTTP_HOST} = hubtank.com
    RewriteCond% {REQUEST_URI}! (\ /Wp-admin \ /| \ /xmlrpc.php | \ /wp- (приложение | cron | login | register | mail) \. Php | \ /feed \ /| wp -. * \ .php | index \ .php) [NC, OR]
    RewriteCond% {REQUEST_URI} (wp-comments-popup \ .php | wp-links-opml \ .php | wp-locations \ .php) [NC]
    RewriteCond% {HTTP_COOKIE}! (Comment_author | wp-postpass | wordpress _ \ [a-f0-9 \] \ + | wordpress_logged_in) [NC]
    RewriteCond% {HTTP_USER_AGENT}! (W3 \ Total \ Cache /0 \ .9 \ .2 \ .4) [NC]
    RewriteCond "% {DOCUMENT_ROOT} /wp-content /Wordpress /pgcache /% {REQUEST_URI} /_ index% {ENV: Wordpress_UA}% {ENV: Wordpress_REF}% {ENV: Wordpress_SSL} .html% {ENV: Wordpress_ENC}" -f
    RewriteRule. * "/Wp-content/Wordpress/pgcache/%{REQUEST_URI}/_index%{ENV:Wordpress_UA}%{ENV:Wordpress_REF}%{ENV:Wordpress_SSL}.html%{ENV:Wordpress_ENC}" [L]
& Lt; /IfModule >
# END Wordpress Страница Кэш-память
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. /index.php [L]
& Lt; /IfModule >
ответил Ayaz Malik 6 MarpmSun, 06 Mar 2011 22:59:19 +03002011-03-06T22:59:19+03:0010 2011, 22:59:19

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132