Created
December 11, 2014 19:18
-
-
Save amitmojumder/6830621a6f6c0e3cf7de to your computer and use it in GitHub Desktop.
Wordpress Security .HTACCESS file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Block one or more IP address. Replace IP_ADDRESS_* with the IP you want to block | |
<Limit GET POST> | |
order allow,deny | |
deny from IP_ADDRESS_1 | |
deny from IP_ADDRESS_2 | |
allow from all | |
</Limit> | |
# Disable directory browsing | |
Options All -Indexes | |
# Disable access to all file types except the following | |
Order deny,allow | |
Deny from all | |
<Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$"> | |
Allow from all | |
</Files> | |
# Block wp-includes folder and files | |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteBase / | |
RewriteRule ^wp-admin/includes/ - [F,L] | |
RewriteRule !^wp-includes/ - [S=3] | |
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] | |
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] | |
RewriteRule ^wp-includes/theme-compat/ - [F,L] | |
</IfModule> | |
# Limit logins and admin by IP | |
<Limit GET POST PUT> | |
order deny,allow | |
deny from all | |
allow from 302.143.54.102 | |
allow from IP_ADDRESS_2 | |
</Limit> | |
# Deny access to wp-config.php file | |
<files wp-config.php> | |
order allow,deny | |
deny from all | |
</files> | |
# Deny access to all .htaccess files | |
<files ~ "^.*\.([Hh][Tt][Aa])"> | |
order allow,deny | |
deny from all | |
satisfy all | |
</files> | |
# Setup browser caching | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
ExpiresByType image/jpg "access 1 year" | |
ExpiresByType image/jpeg "access 1 year" | |
ExpiresByType image/gif "access 1 year" | |
ExpiresByType image/png "access 1 year" | |
ExpiresByType text/css "access 1 month" | |
ExpiresByType application/pdf "access 1 month" | |
ExpiresByType text/x-javascript "access 1 month" | |
ExpiresByType application/x-shockwave-flash "access 1 month" | |
ExpiresByType image/x-icon "access 1 year" | |
ExpiresDefault "access 2 days" | |
</IfModule> | |
# Redirect all traffic to maintenance.html file | |
RewriteEngine on | |
RewriteCond %{REQUEST_URI} !/maintenance.html$ | |
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 | |
RewriteRule $ /maintenance.html [R=302,L] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment