Лучшая коллекция кода для вашего .htaccess файла [закрыта]
У нас есть Лучшая коллекция кода для вашего functions.php file , поэтому я подумал, что было бы полезно создать поток для наших файлов .htaccess.
И ПОЖАЛУЙСТА, ПОМНИТЕ, ЧТОБЫ ДОБАВИТЬ ЛЮБЫЕ ИЗ СОБСТВЕННЫХ СНИПЛЕЦ НА ЭТОМ СПИСКЕ
7 ответов
Это 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]
Лучше переписать правила для постоянных ссылок 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]
сжатие 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 >
Некоторые основные сведения о безопасности.
# ограничение индексации каталогов
Параметры Все -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 >
Перенаправления и довольно постоянные ссылки без 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
Опечатки
#Подробнее показать адрес электронной почты администратора в сообщении об ошибке
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]
Это что-то более защищенное, и я вам это нравится
# 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 >