# BEGIN iThemes Security - Do not modify or remove this line
# iThemes Security Config Details: 2
	# Ban Hosts - Security > Settings > Banned Users
	SetEnvIF REMOTE_ADDR "^207\.148\.79\.171$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^207\.148\.79\.171$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^207\.148\.79\.171$" DenyAccess

	SetEnvIF REMOTE_ADDR "^20\.232\.21\.92$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^20\.232\.21\.92$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^20\.232\.21\.92$" DenyAccess

	SetEnvIF REMOTE_ADDR "^20\.230\.138\.236$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^20\.230\.138\.236$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^20\.230\.138\.236$" DenyAccess

	SetEnvIF REMOTE_ADDR "^20\.121\.202\.44$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^20\.121\.202\.44$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^20\.121\.202\.44$" DenyAccess

	SetEnvIF REMOTE_ADDR "^20\.114\.131\.225$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^20\.114\.131\.225$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^20\.114\.131\.225$" DenyAccess

	SetEnvIF REMOTE_ADDR "^178\.62\.19\.18$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^178\.62\.19\.18$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^178\.62\.19\.18$" DenyAccess

	SetEnvIF REMOTE_ADDR "^54\.178\.20\.0$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^54\.178\.20\.0$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^54\.178\.20\.0$" DenyAccess

	SetEnvIF REMOTE_ADDR "^157\.245\.148\.208$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^157\.245\.148\.208$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^157\.245\.148\.208$" DenyAccess

	SetEnvIF REMOTE_ADDR "^45\.227\.255\.159$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^45\.227\.255\.159$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^45\.227\.255\.159$" DenyAccess

	SetEnvIF REMOTE_ADDR "^52\.243\.58\.141$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^52\.243\.58\.141$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^52\.243\.58\.141$" DenyAccess

	SetEnvIF REMOTE_ADDR "^138\.91\.17\.69$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^138\.91\.17\.69$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^138\.91\.17\.69$" DenyAccess

	SetEnvIF REMOTE_ADDR "^178\.128\.216\.116$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^178\.128\.216\.116$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^178\.128\.216\.116$" DenyAccess

	SetEnvIF REMOTE_ADDR "^159\.223\.44\.75$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^159\.223\.44\.75$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^159\.223\.44\.75$" DenyAccess

	SetEnvIF REMOTE_ADDR "^165\.232\.165\.87$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^165\.232\.165\.87$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^165\.232\.165\.87$" DenyAccess

	SetEnvIF REMOTE_ADDR "^206\.189\.84\.119$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^206\.189\.84\.119$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^206\.189\.84\.119$" DenyAccess

	SetEnvIF REMOTE_ADDR "^157\.245\.155\.181$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^157\.245\.155\.181$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^157\.245\.155\.181$" DenyAccess

	SetEnvIF REMOTE_ADDR "^157\.245\.55\.124$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^157\.245\.55\.124$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^157\.245\.55\.124$" DenyAccess

	SetEnvIF REMOTE_ADDR "^139\.59\.113\.53$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^139\.59\.113\.53$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^139\.59\.113\.53$" DenyAccess

	SetEnvIF REMOTE_ADDR "^62\.210\.99\.33$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^62\.210\.99\.33$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^62\.210\.99\.33$" DenyAccess

	SetEnvIF REMOTE_ADDR "^20\.38\.33\.48$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^20\.38\.33\.48$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^20\.38\.33\.48$" DenyAccess

	SetEnvIF REMOTE_ADDR "^62\.210\.140\.247$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^62\.210\.140\.247$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^62\.210\.140\.247$" DenyAccess

	SetEnvIF REMOTE_ADDR "^62\.210\.178\.33$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^62\.210\.178\.33$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^62\.210\.178\.33$" DenyAccess

	SetEnvIF REMOTE_ADDR "^195\.154\.169\.112$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^195\.154\.169\.112$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^195\.154\.169\.112$" DenyAccess

	SetEnvIF REMOTE_ADDR "^62\.210\.139\.62$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^62\.210\.139\.62$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^62\.210\.139\.62$" DenyAccess

	SetEnvIF REMOTE_ADDR "^195\.154\.176\.36$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^195\.154\.176\.36$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^195\.154\.176\.36$" DenyAccess

	SetEnvIF REMOTE_ADDR "^195\.154\.171\.21$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^195\.154\.171\.21$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^195\.154\.171\.21$" DenyAccess

	SetEnvIF REMOTE_ADDR "^5\.188\.62\.76$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^5\.188\.62\.76$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^5\.188\.62\.76$" DenyAccess

	SetEnvIF REMOTE_ADDR "^139\.155\.74\.13$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^139\.155\.74\.13$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^139\.155\.74\.13$" DenyAccess

	SetEnvIF REMOTE_ADDR "^178\.59\.14\.8$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^178\.59\.14\.8$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^178\.59\.14\.8$" DenyAccess

	SetEnvIF REMOTE_ADDR "^37\.4\.227\.213$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^37\.4\.227\.213$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^37\.4\.227\.213$" DenyAccess

	SetEnvIF REMOTE_ADDR "^37\.4\.227\.253$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^37\.4\.227\.253$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^37\.4\.227\.253$" DenyAccess

	SetEnvIF REMOTE_ADDR "^77\.69\.127\.28$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^77\.69\.127\.28$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^77\.69\.127\.28$" DenyAccess

	SetEnvIF REMOTE_ADDR "^103\.149\.167\.86$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^103\.149\.167\.86$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^103\.149\.167\.86$" DenyAccess

	SetEnvIF REMOTE_ADDR "^62\.210\.178\.229$" DenyAccess
	SetEnvIF X-FORWARDED-FOR "^62\.210\.178\.229$" DenyAccess
	SetEnvIF X-CLUSTER-CLIENT-IP "^62\.210\.178\.229$" DenyAccess

	<IfModule mod_litespeed.c>
		Order allow,deny
		Allow from all
		Deny from env=DenyAccess
		Deny from 207.148.79.171
		Deny from 20.232.21.92
		Deny from 20.230.138.236
		Deny from 20.121.202.44
		Deny from 20.114.131.225
		Deny from 178.62.19.18
		Deny from 54.178.20.0
		Deny from 157.245.148.208
		Deny from 45.227.255.159
		Deny from 52.243.58.141
		Deny from 138.91.17.69
		Deny from 178.128.216.116
		Deny from 159.223.44.75
		Deny from 165.232.165.87
		Deny from 206.189.84.119
		Deny from 157.245.155.181
		Deny from 157.245.55.124
		Deny from 139.59.113.53
		Deny from 62.210.99.33
		Deny from 20.38.33.48
		Deny from 62.210.140.247
		Deny from 62.210.178.33
		Deny from 195.154.169.112
		Deny from 62.210.139.62
		Deny from 195.154.176.36
		Deny from 195.154.171.21
		Deny from 5.188.62.76
		Deny from 139.155.74.13
		Deny from 178.59.14.8
		Deny from 37.4.227.213
		Deny from 37.4.227.253
		Deny from 77.69.127.28
		Deny from 103.149.167.86
		Deny from 62.210.178.229
	</IfModule>
# END iThemes Security - Do not modify or remove this line

# BEGIN WP Rocket v3.11.0.3
# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset UTF-8
# Force UTF-8 for a number of file formats
<IfModule mod_mime.c>
AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml
</IfModule>

# FileETag None is not enough for every server.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>

# Since we’re sending far-future expires, we don’t need ETags for static content.
# developer.yahoo.com/performance/rules.html#etags
FileETag None

<IfModule mod_alias.c>
<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$">
<IfModule mod_headers.c>
Header set X-Powered-By "WP Rocket/3.11.0.3"
Header unset Pragma
Header append Cache-Control "public"
Header unset Last-Modified
</IfModule>
</FilesMatch>

<FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
<IfModule mod_headers.c>
Header unset Pragma
Header append Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>

<IfModule mod_mime.c>
	AddType image/avif                                  avif
    AddType image/avif-sequence                         avifs
</IfModule>
# Expires headers (for better cache control)
<IfModule mod_expires.c>
	ExpiresActive on
	ExpiresDefault                              "access plus 1 month"
	# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
	ExpiresByType text/cache-manifest           "access plus 0 seconds"
	# Your document html
	ExpiresByType text/html                     "access plus 0 seconds"
	# Data
	ExpiresByType text/xml                      "access plus 0 seconds"
	ExpiresByType application/xml               "access plus 0 seconds"
	ExpiresByType application/json              "access plus 0 seconds"
	# Feed
	ExpiresByType application/rss+xml           "access plus 1 hour"
	ExpiresByType application/atom+xml          "access plus 1 hour"
	# Favicon (cannot be renamed)
	ExpiresByType image/x-icon                  "access plus 1 week"
	# Media: images, video, audio
	ExpiresByType image/gif                     "access plus 4 months"
	ExpiresByType image/png                     "access plus 4 months"
	ExpiresByType image/jpeg                    "access plus 4 months"
	ExpiresByType image/webp                    "access plus 4 months"
	ExpiresByType video/ogg                     "access plus 4 months"
	ExpiresByType audio/ogg                     "access plus 4 months"
	ExpiresByType video/mp4                     "access plus 4 months"
	ExpiresByType video/webm                    "access plus 4 months"
	ExpiresByType image/avif                    "access plus 4 months"
	ExpiresByType image/avif-sequence           "access plus 4 months"
	# HTC files  (css3pie)
	ExpiresByType text/x-component              "access plus 1 month"
	# Webfonts
	ExpiresByType font/ttf                      "access plus 4 months"
	ExpiresByType font/otf                      "access plus 4 months"
	ExpiresByType font/woff                     "access plus 4 months"
	ExpiresByType font/woff2                    "access plus 4 months"
	ExpiresByType image/svg+xml                 "access plus 4 months"
	ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
	# CSS and JavaScript
	ExpiresByType text/css                      "access plus 1 year"
	ExpiresByType application/javascript        "access plus 1 year"
</IfModule>
# Gzip compression
<IfModule mod_deflate.c>
# Active compression
SetOutputFilter DEFLATE
# Force deflate for mangled headers
<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 append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# Don’t compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
</IfModule>
</IfModule>

# Compress all output labeled with one of the following MIME-types
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
		                          application/javascript \
		                          application/json \
		                          application/rss+xml \
		                          application/vnd.ms-fontobject \
		                          application/x-font-ttf \
		                          application/xhtml+xml \
		                          application/xml \
		                          font/opentype \
		                          image/svg+xml \
		                          image/x-icon \
		                          text/css \
		                          text/html \
		                          text/plain \
		                          text/x-component \
		                          text/xml
</IfModule>
<IfModule mod_headers.c>
Header append Vary: Accept-Encoding
</IfModule>
</IfModule>

<IfModule mod_mime.c>
AddType text/html .html_gzip
AddEncoding gzip .html_gzip
</IfModule>
<IfModule mod_setenvif.c>
SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{REQUEST_URI} !^(/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index\.php/)?wp\-json(/.*|$))$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit|WhatsApp).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
</IfModule>
# END WP Rocket

# BEGIN Imagify: rewrite rules for webp
<IfModule mod_setenvif.c>
	# Vary: Accept for all the requests to jpeg, png, and gif.
	SetEnvIf Request_URI "\.(jpg|jpeg|jpe|png|gif)$" REQUEST_image
</IfModule>
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	# Check if browser supports WebP images.
	# Check if WebP replacement image exists.
	# Serve WebP image instead.
	RewriteCond %{HTTP_ACCEPT} image/webp
	RewriteCond %{REQUEST_FILENAME}.webp -f
	RewriteRule (.+)\.(jpg|jpeg|jpe|png|gif)$ $1.$2.webp [T=image/webp,NC]
</IfModule>
<IfModule mod_headers.c>
	Header append Vary Accept env=REQUEST_image
</IfModule>
# END Imagify: rewrite rules for webp
# BEGIN Imagify: webp file type
<IfModule mod_mime.c>
	AddType image/webp .webp
</IfModule>
# END Imagify: webp file type
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php73” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^a\-1electricservice\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.a\-1electricservice\.com$
RewriteRule ^/?$ "https\:\/\/holtonelectric\.com\/" [R=301,L]

