#Deny List
order allow,deny deny from 123.123.123.123 #specify a specific address deny from 123.123.123.123/30 #specify a subnet range deny from 123.123.* #specify an IP address wildcard allow from all
#Allow List
order allow,deny allow from 123.123.123.123 #specify a specific address allow from 123.123.123.123/30 #specify a subnet range allow from 123.123.* #specify an IP address wildcard deny from all
For security reason it is always better to disable directory browsing so that people won’t know what files you have. The following code will do so.
Options All -Indexes
If your server is not set up to deliver certain file like MP3 or SWF properly then you can add the MIME type for those through .htaccess.
AddType application/x-shockwave-flash swf
Through DirectoryIndex you can change your default landing page of your website. The default landing pages are index.html, index.php, default.php etc. But if want to change it to some other page then please use the following code.
DirectoryIndex filename.html
<files .htaccess> order allow,deny deny from all </files>
<files php.ini> order allow,deny deny from all </files>
When someone uses a link to an image , video or any other file that is saved on another website
is known as hotlinking. For example, instead of saving video.flv on to
your own website, if you uses a link to the video as http://domain.com/video.flv is known as hotlinking.
Following is the .htaccess code to prevent hotlinking.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] RewriteRule \.(gif|jpg|js|css)$ - [F]You can also show different file when hotlink is detected.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC] RewriteRule \.(gif|jpg)$ http://www.domain.com/404.html [R,L]
The following htaccess code won’t help the initial pageload, but it will significantly help subsequent pageloads by sending 304 statuses when requested elements haven’t been modified.
FileETag MTime Size ExpiresActive on ExpiresDefault "access plus x seconds"
This directive can be useful to auto-correct simple spelling errors in the URL
<IfModule mod_speling.c> CheckSpelling On </IfModule>