Deny from all # BEGIN WpFastestCache <IfModule mod_rewrite.c>RewriteEngine On RewriteBase / RewriteCond %{HTTPS}=on RewriteCond %{HTTP_HOST}^www.questconsult.com # Start WPFC Exclude # End WPFC Exclude # Start_WPFC_Exclude_Admin_Cookie RewriteCond %{HTTP:Cookie}!wordpress_logged_in_[^\=]+\=bri|cdk|jdm|mds|quadmin RewriteCond %{HTTP:Cookie}!wordpress_logged_in_[^\=]+\=toddzacr02|tre # End_WPFC_Exclude_Admin_Cookie RewriteCond %{HTTP_HOST}^www.questconsult.com RewriteCond %{HTTP_USER_AGENT}!(facebookexternalhit|WP_FASTEST_CACHE_CSS_VALIDATOR|Twitterbot|LinkedInBot|WhatsApp|Mediatoolkitbot) RewriteCond %{HTTP_USER_AGENT}!(WP\sFastest\sCache\sPreload(\siPhone\sMobile)?\s*Bot) RewriteCond %{REQUEST_METHOD}!POST RewriteCond %{REQUEST_URI}!(\/){2}$ RewriteCond %{REQUEST_URI}\/$ RewriteCond %{QUERY_STRING}!.+RewriteCond %{HTTP:Cookie}!wordpress_logged_in RewriteCond %{HTTP:Cookie}!comment_author_ RewriteCond %{HTTP:Cookie}!safirmobilswitcher=mobil RewriteCond %{HTTP:Profile}!^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [or]
RewriteCond /home/questcon/public_html/cms/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) "/cms/wp-content/cache/all/$1/" [L]
</IfModule>
<FilesMatch "\.(html|htm)$">
AddDefaultCharset UTF-8
<ifModule mod_headers.c>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0,no-cache,no-store,must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Mon,29 Oct 1923 20:30:0 GMT"
</ifModule>
</FilesMatch>
# END WpFastestCache
# BEGIN GzipWpFastestCache
<IfModule mod_deflate.c>
AddType x-font/woff .woff
AddType x-font/ttf .ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE x-font/ttf
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/opentype font/ttf font/eot font/otf
</IfModule>
# END GzipWpFastestCache
# Redirect non-www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^questconsult.com [NC]
RewriteRule ^(.*)$ https://www.questconsult.com/$1 [L,R=301]

# BEGIN HTTPS Redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

# 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

# BEGIN LBCWpFastestCache
<FilesMatch "\.(webm|ogg|mp4|ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)(\.gz)?$">
<IfModule mod_expires.c>
AddType application/font-woff2 .woff2
ExpiresActive On
ExpiresDefault A0
ExpiresByType video/webm A10368000
ExpiresByType video/ogg A10368000
ExpiresByType video/mp4 A10368000
ExpiresByType image/webp A10368000
ExpiresByType image/gif A10368000
ExpiresByType image/png A10368000
ExpiresByType image/jpg A10368000
ExpiresByType image/jpeg A10368000
ExpiresByType image/ico A10368000
ExpiresByType image/svg+xml A10368000
ExpiresByType text/css A10368000
ExpiresByType text/javascript A10368000
ExpiresByType application/javascript A10368000
ExpiresByType application/x-javascript A10368000
ExpiresByType application/font-woff2 A10368000
</IfModule>
<IfModule mod_headers.c>
Header set Expires "max-age=A10368000,public"
Header unset ETag
Header set Connection keep-alive
FileETag None
</IfModule>
</FilesMatch>
# END LBCWpFastestCache

# BEGIN Ancient site redirects
Redirect 301 /ca.html https://www.questconsult.com/services/ca.html
Redirect 301 /calendar.html https://www.questconsult.com/
Redirect 301 /can-accept.html https://www.questconsult.com/software/canary.html
Redirect 301 /can-applic.html https://www.questconsult.com/software/canary-applications.html
Redirect 301 /canary.html https://www.questconsult.com/software/canary.html
Redirect 301 /can-blurb.html https://www.questconsult.com/software/canary.html
Redirect 301 /can-comp.html https://www.questconsult.com/software/canary-materials.html
Redirect 301 /can-feat.html https://www.questconsult.com/software/canary.html
Redirect 301 /can-valid.html https://www.questconsult.com/software/canary-valid.html
Redirect 301 /con-wem.html https://www.questconsult.com/services/ca.html
Redirect 301 /corpinfo.html https://www.questconsult.com/staff.html
Redirect 301 /crg.html https://www.questconsult.com/
Redirect 301 /demo-t.html https://www.questconsult.com/software/thermo_intro.html
Redirect 301 /email.html https://www.questconsult.com/office.html
Redirect 301 /epa-rmp.html https://www.questconsult.com/resources/papers.html
Redirect 301 /exper-cra.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-hmp.html https://www.questconsult.com/experience/projects/
Redirect 301 /experience.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-lngs.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-pha.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-rmp.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-rt.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-sia.html https://www.questconsult.com/experience/projects/
Redirect 301 /exper-wpm.html https://www.questconsult.com/experience/projects/
Redirect 301 /hazard.html https://www.questconsult.com/resources/papers/hazard.html
Redirect 301 /hmp.html https://www.questconsult.com/experience/projects/
Redirect 301 /intro.html https://www.questconsult.com/
Redirect 301 /links.html https://www.questconsult.com/articles/
Redirect 301 /lng.html https://www.questconsult.com/services/lng.html
Redirect 301 /lpg-out.html https://www.questconsult.com/services/training.html
Redirect 301 /more.html https://www.questconsult.com/
Redirect 301 /newq-quarter.html https://www.questconsult.com/articles/
Redirect 301 /newsltr.html https://www.questconsult.com/articles/
Redirect 301 /papers.html https://www.questconsult.com/resources/papers.html
Redirect 301 /pha.html https://www.questconsult.com/services/pha.html
Redirect 301 /pim.html https://www.questconsult.com/services/cma.html
Redirect 301 /pim-flow.html https://www.questconsult.com/services/cma.html
Redirect 301 /pplant.html https://www.questconsult.com/services.html
Redirect 301 /publication.html https://www.questconsult.com/resources/papers.html
Redirect 301 /psm.html https://www.questconsult.com/services.html
Redirect 301 /qq_thanks.html https://www.questconsult.com/articles/
Redirect 301 /q-quarter.html https://www.questconsult.com/articles/
Redirect 301 /quarter00.html https://www.questconsult.com/articles/
Redirect 301 /quarter96.html https://www.questconsult.com/articles/
Redirect 301 /quarter97.html https://www.questconsult.com/articles/
Redirect 301 /quarter98.html https://www.questconsult.com/articles/
Redirect 301 /quarter99.html https://www.questconsult.com/articles/
Redirect 301 /relief.html https://www.questconsult.com/resources/papers/relief.html
Redirect 301 /research.html https://www.questconsult.com/experience/projects/
Redirect 301 /resources/papers/index.html https://www.questconsult.com/resources/papers.html
Redirect 301 /risk.html https://www.questconsult.com/services/risk.html
Redirect 301 /rmp.html https://www.questconsult.com/resources/papers.html
Redirect 301 /site.html https://www.questconsult.com/sitemap.html
Redirect 301 /software/cfd.html https://www.questconsult.com/software/CFD.html
Redirect 301 /sulfuric.html https://www.questconsult.com/resources/papers/sulfuric.html
Redirect 301 /training.html https://www.questconsult.com/services/training.html
Redirect 301 /wahsatch.html https://www.questconsult.com/resources/papers/wahsatch.html
# END Ancient site redirects

# BEGIN redirect old site to new WordPress structure

Redirect 301 /resources.html https://www.questconsult.com/papers/
Redirect 301 /services.html https://www.questconsult.com/services/
Redirect 301 /sitemap.html https://www.questconsult.com/sitemap/
Redirect 301 /softwares.html https://www.questconsult.com/software/

RedirectMatch 301 /(contact|office|staff)\.(php|html) https://www.questconsult.com/home/$1/

# Experience directory
Redirect 301 /experience/CFD_experience.pdf https://www.questconsult.com/pdf/CFD_experience.pdf

# Resources directory
Redirect 301 /resources/papers.html https://www.questconsult.com/papers/

RedirectMatch 301 /resources/papers/(.*).html https://www.questconsult.com/papers/$1/
RedirectMatch 301 /resources/papers/pdf/(.*) https://www.questconsult.com/pdf/$1

# Services directory
Redirect 301 /services/cma.html https://www.questconsult.com/ca/cma/

RedirectMatch 301 /services/(ca|lgs|pha|risk|safetycase|siting|training)\.html https://www.questconsult.com/$1/
RedirectMatch 301 /services/(risk_ranking|qra)\.html https://www.questconsult.com/services/risk/$1/
RedirectMatch 301 /services/(api-rp-752|oea)\.html https://www.questconsult.com/services/siting/$1/
RedirectMatch 301 /services/(lng|lpg|other)\.html https://www.questconsult.com/services/lgs/$1/
RedirectMatch 301 /services/(ica|phalt|phm|plgs|ram)\.html https://www.questconsult.com/services/training/$1/
RedirectMatch 301 /services/pha_(.*).html https://www.questconsult.com/services/pha/$1/

# Software directory
RedirectMatch 301 /software/pdf/(.*) https://www.questconsult.com/pdf/$1/
RedirectMatch 301 /software/canary-((?!materials.html).*)\.html https://www.questconsult.com/software/canary/$1/
RedirectMatch 301 /software/canaryp-(.*)\.html https://www.questconsult.com/software/canaryplus/$1/
RedirectMatch 301 /software/(.*).html https://www.questconsult.com/software/$1/

Redirect 301 /software/canary/materials https://www.questconsult.com/software/canary/
# END redirect old site to new WordPress structure
RewriteCond %{HTTP_HOST} ^questconsult\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.questconsult\.net$
RewriteRule ^/?$ "https\:\/\/www\.questconsult\.com\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^questconsult\.org$ [OR]
RewriteCond %{HTTP_HOST} ^www\.questconsult\.org$
RewriteRule ^/?$ "https\:\/\/www\.questconsult\.com\/" [R=301,L]



# Wordfence WAF
<IfModule LiteSpeed>
php_value auto_prepend_file '/home/questcon/public_html/cms/wordfence-waf.php'
RewriteRule .* - [E=noabort:1]
</IfModule>
<IfModule lsapi_module>
php_value auto_prepend_file '/home/questcon/public_html/cms/wordfence-waf.php'
</IfModule>
<Files ".user.ini"><IfModule mod_authz_core.c>Require all denied </IfModule><IfModule !mod_authz_core.c>Order deny,allow Deny from all </IfModule></Files># END Wordfence WAF