###Caching schema
Header set Cache-Control "public, max-age=2177280000"
###Prevent viewing of .htaccess file
order allow,deny
deny from all
###Prevent directory listings
Options All -Indexes
###force NON WWW to HTTPS
RewriteEngine On
RewriteCond %{HTTP_HOST} ^metricbuzz.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.metricbuzz.com/$1 [R,L]
###force WWW to HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^www.metricbuzz.com [NC]
RewriteRule ^(.*)$ http://metricbuzz.com/$1 [L,R=301]
### force Folders to HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.metricbuzz.com/social-mention/$1 [R,L]
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.metricbuzz.com/blog/$1 [R,L]
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.metricbuzz.com/blogcn/$1 [R,L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
###########################################################################################################
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^https://(.*)?metricbuzz\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)?metricbuzz\.com [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
###########################################################################################################
### IP Canonicalization Test rewrite rule, make sure the IP address and domain name go to the same homepage URL
RewriteCond %{HTTP_HOST} ^173\.247\.254\.80
RewriteRule (.*) www.metricbuzz.com/$1 [R=301,L]
###########################################################################################################
########################################################################################
##ADD FOLLOWING CODE for compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
SetOutputFilter DEFLATE
#######################################################################################
########################################################################################
### below line of code are BROWSER LEVERAGE CACHING AND HEADER EXPIRATION SETUP
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires
ExpiresActive On
ExpiresDefault "access plus 1 year"
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType application/pdf "access plus 1 year"
ExpiresByType application/x-shockwave-flash "access plus 1 year"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/x-javascript "access plus 1 year"
########################################################################################
###########################################
Header set Connection keep-alive
###########################################