Cheatsheet
htaccess Cheatsheet (the jackol’s den)
Options +Indexes ## block a few types of files from showing IndexIgnore *.wmv *.mp4 *.avi
Options All -Indexes
ErrorDocument 403 /forbidden.html ErrorDocument 404 /notfound.html ErrorDocument 500 /servererror.html
AddType text/html .html AddType text/html .shtml AddHandler server-parsed .html AddHandler server-parsed .shtml # AddHandler server-parsed .htm
定義順に従う
DirectoryIndex myhome.htm index.htm index.php
<limit GET POST PUT> order deny,allow deny from 202.54.122.33 deny from 8.70.44.53 deny from .spammers.com allow from all </limit>
order deny,allow deny from all allow from 192.168.0.0/24
Redirect oldpage.html http://www.domainname.com/newpage.html Redirect /olddir http://www.domainname.com/newdir/
RewriteEngine on RewriteCond %{HTTP_REFERER} site-to-block\.com [NC] RewriteCond %{HTTP_REFERER} site-to-block-2\.com [NC] RewriteRule .* - [F]
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] RewriteRule \.(gif|jpg)$ - [F]
Add this below the Hot Link Blocking code: RewriteRule \.(gif|jpg)$ http://www.mydomain.com/dontsteal.gif [R,L]
<files file-name> order allow,deny deny from all </files>
# Avoid 500 error by passing charset AddDefaultCharset utf-8
Options +ExecCGI AddHandler cgi-script cgi pl # To enable all scripts in a directory use the following # SetHandler cgi-script
Use the .htaccess Password Generator and follow the brief instructions!
AddType application/x-httpd-php .gne gne will now be treated as PHP files! Similarly, x-httpd-cgi for CGI files, etc.
Performance may take a hit but if thats not a problem, this is a nice option to turn on. ContentDigest On
From Jens Meiert: CheckSpelling corrects simple spelling errors (for example, if someone forgets a letter or if any character is just wrong). Just add CheckSpelling On to your htaccess file. The ContentDigest Directive As the Apache core features documentation says: “This directive enables the generation of Content-MD5 headers as defined in RFC1864 respectively RFC2068. The Content-MD5 header provides an end-to-end message integrity check (MIC) of the entity-body. A proxy or client may check this header for detecting accidental modification of the entity-body in transit. Note that this can cause performance problems on your server since the message digest is computed on every request (the values are not cached). Content-MD5 is only sent for documents served by the core, and not by any module. For example, SSI documents, output from CGI scripts, and byte range responses do not have this header.” To turn this on, just add ContentDigest On.
# Only if you use PHP <ifmodule mod_php4.c> php_value zlib.output_compression 16386 </ifmodule>
# Only if you use PHP <ifmodule mod_php4.c> php_flag magic_quotes_gpc off </ifmodule>