HTACCESS: Difference between revisions
No edit summary |
No edit summary |
||
Line 93: | Line 93: | ||
# enable compression for everything | # enable compression for everything | ||
SetOutputFilter DEFLATE | SetOutputFilter DEFLATE | ||
<br><br> | |||
An .htaccess generator can be found here: | |||
<br><br> | |||
[http://www.htaccesseditor.com/en.shtml http://www.htaccesseditor.com/en.shtml] |
Revision as of 18:38, 21 February 2008
An .htaccess file can be used to customize some of the settings on your website, in the directory the file is located. The file is in basic text, and the filename must be exactly ".htaccess". Here are some of the more common, useful .htaccess functions you can add to your site.
- Any rules you set by .htacess will apply to all files in the directory you have placed the .htaccess file, and any of it's subdirectories. The .htaccess rules in the current directory will override any .htaccess rules set in a parent directory.
- Any typos or mistakes in a .htaccess file will may result in a http 500 server error being returned when you try to visit that directory, and may render your entire site offline.
.htaccess files are very picky about what you put in them so please be careful.
- Do not attempt to turn safe mode off in a .htaccess file, this will not work and will cause your site to no longer load.
- Blocking another website linking to yours
Add the following to a .htaccess file in the directory containing the files you want to protect:
# go away! RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://badsite.com(.*)$ [NC] RewriteRule ^.* - [F,L]
Entry should have a link to the apache url rewriting guide
http://httpd.apache.org/docs/2.3/misc/rewriteguide.html
- Enabling or disabling error reporting in PHP
Add the following lines to your .htaccess file to enable error reporting.
Options +FollowSymlinks RewriteEngine on php_flag display_errors on php_value error_reporting 7
We have display_errors set to on by default for all users, this is to help inform you of problems when you are working on your site.
If you would rather suppress this warnings to yourself and visitors you can add the following to a .htaccess file in the same directory with your php.
php_value display_errors 0
Note that with display_errors off you will simply get a blank page if php encounters an error on your site.
- If you require register_globals to be on for older php scripts you can enable it by adding
php_value register_globals 1
to a .htaccess file. Although we strongly caution against it due to security implications for your site.
- Limiting access to your website based on ip with .htaccess.
Create a .htaccess file in the directory you want to protected and add something similar to the following:
# allow access to just me! order allow,deny # my home ip, my work ip allow from 168.55.55.11 58.66.12.79
but be careful as you may lock yourself out of your own site. Of course you can always go in via ftp and remove that.
- If you want to hide .php extensions to make your site appear more 'clean' you can do so with a .htaccess file with the following
Options +MultiViews
in the same directory as the php file.
Now you can hit
http://yoursite.com/dem?forum=1
instead of
http://yoursite.com/dem.php?forum=1
be careful with this though, as it can lead to unexpected results.
- Mime Types - Java webstart
Creating an .htaccess file with the following line will enable java webstart jnlp Mime type.
AddType application/x-java-jnlp-file JNLP
If users want to enable the 'compress everything including .php' we used to have they will now have to add the following to a .htaccess file in their foo.com/ directory:
# enable compression for everything SetOutputFilter DEFLATE
An .htaccess generator can be found here:
http://www.htaccesseditor.com/en.shtml