1 Useful .htaccess Code Snippets for your website - Part - 3 - Blog by Aaditya Sudra
Aaditya Sudra Logo
Share This
Scroll Down
Back to blogs
//Post title

Useful .htaccess Code Snippets for your website - Part - 3


Hello dear programmers and readers, today we will continue our series of useful .htaccess code snippets for your website. 

Here in this part, our focus will be on Caching Scheme, password protect file, custom headers, and few more. So lets start the blog.

 

#21 - Implementing a Caching Scheme with .htaccess

# year
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Header unset Last-Modified
</FilesMatch>
#2 hours
<FilesMatch "\.(html|htm|xml|txt|xsl)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
</FilesMatch>

 

#22 - Password Protect single file

<Files login.php>
AuthName "Prompt"
AuthType Basic
AuthUserFile /web/askapache.com/.htpasswd
Require valid-user
</Files>

 

#23 - Password Protect multiple files

<FilesMatch "^(private|phpinfo).*$">
AuthName "Development"
AuthUserFile /.htpasswd
AuthType basic
Require valid-user
</FilesMatch>

 

#24 - Send Custom Headers

Header set P3P "policyref="https://www.yourdomain.com/w3c/p3p.xml""
Header set X-Pingback "https://www.yourdomain.com/xmlrpc.php"
Header set Content-Language "en-US"
Header set Vary "Accept-Encoding"

 

#25 - Blocking based on User-Agent Header

SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT

 

#26 - Blocking with RewriteCond

RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures).*$ [NC]
RewriteRule . - [F,L]

 

#27 - .htaccess for mod_php

SetEnv PHPRC /location/todir/containing/phpinifile

 

#28 - .htaccess for php as cgi

AddHandler php-cgi .php .htm
Action php-cgi /cgi-bin/php5.cgi

 

#29 - Shell wrapper for custom php.ini

#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec php5.cgi -c /abs/php5/php.ini

 

#30 -  Add values from HTTP Headers

SetEnvIfNoCase ^If-Modified-Since$ "(.+)" HTTP_IF_MODIFIED_SINCE=$1
SetEnvIfNoCase ^If-None-Match$ "(.+)" HTTP_IF_NONE_MATCH=$1
SetEnvIfNoCase ^Cache-Control$ "(.+)" HTTP_CACHE_CONTROL=$1
SetEnvIfNoCase ^Connection$ "(.+)" HTTP_CONNECTION=$1
SetEnvIfNoCase ^Keep-Alive$ "(.+)" HTTP_KEEP_ALIVE=$1
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
SetEnvIfNoCase ^Cookie$ "(.+)" HTTP_MY_COOKIE=$1

 

#31 -  Stop hotlinking

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/.*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ https://www.yourdomain.com/feed.gif [R=302,L]

 

Guys these are the snippets you can use for your .htaccess file, In next blog we will share some example of .htaccess files. Please share your valuable feedback in the comment section.

  • 2 Minutes 3 Seconds
  • 5 years ago
  • Aaditya Sudra
  • 3015
  • 0
No comment
Leave A Comment

01. About Author

Aaditya Sudra

Hey there! I’m Aaditya Sudra, the founder of ElementFX Digital and Motodesk. With over 12 years in digital marketing, I’m passionate about helping businesses shine online. When I’m not crafting strategies and optimizing campaigns, you’ll find me sipping my favorite brew or exploring the latest automotive innovations. Let’s connect and drive success together!

Find on :

02. Advertisement

06.My Instagram

07.Follow me on Zomato

View my food journey on Zomato!

08.Advertisement

Ready to Elevate Your Brand?

Get in Touch