.htaccess
|
.htaccess (Hypertext Access) is the default name of Apache's directory-level configuration file. It provides the ability to customize configuration directives defined in the main configuration file. The configuration directives need to be in .htaccess context and the user needs appropriate permissions.
Contents |
Common usage
The .htaccess file is commonly used to :
- Provide custom error pages, such as 404 Page Not Found
ErrorDocument 404 my404page.html
- This code can be used to create any custom page. Certain pages are more complicated to modify - if you create a custom 403 Forbidden page, then a viewer will not see the custom page. Here is a way to get around this :
ErrorDocument 403 /all/my403page.html
- In the /all directory, you would need another .htaccess file, ie:
order allow,deny allow from all
- This would give access to Forbidden users to the /all directory, where the custom 403 page is kept in this example.
- Password protection
- Enabling SSI via .htaccess
AddType text/html .shtml AddHandler server-parsed .shtml Options Indexes FollowSymLinks Includes
- Deny users by IP address
order allow,deny deny from 123.45.67.0 deny from 123.123.7 allow from all
- This would ban anyone with an IP address of 123.45.67.0 and would also ban anyone with an IP address starting in 123.123.7, for example, 123.123.74.42 would not gain access.
- Changing the default directory page
DirectoryIndex homepage.html
- Here, anyone visiting http://www.yourwebsite.com would see the homepage.html page, rather than the default index.html.
- Redirects
Redirect page1.html page2.html
- If someone was to visit http://www.yourwebsite.com/page1.html, they would be sent to http://www.yourwebsite.com/page2.html
- Preventing hotlinking of images
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourwebsite.com/.*$ [NC] RewriteRule \.(gif|jpg)$ [R,L]
- Unless the image is displayed on yourwebsite.com, browers would see the image hotlink.gif.
Directory rules
A .htaccess file controls the directory it is in, plus all subdirectories. However, by placing additional .htaccess files in the subdirectories, you can overrule this.
User permissions
The user permissions for .htaccess are controlled on server level with the AllowOverride directive which is documented in the Apache Server Documentation.
See also
External links
- Apache configuration directives allowed in .htaccess context (http://httpd.apache.org/docs/mod/directive-dict.html#Context)
- Apache Documentation on the AllowOverride directive (http://httpd.apache.org/docs/mod/core.html#allowoverride)
- Apache Docs .htaccess Howto (http://httpd.apache.org/docs/howto/htaccess.html)
- Ken Coar: Using .htaccess Files with Apache (http://apache-server.com/tutorials/ATusing-htaccess.html)
- .htaccess The Guide (http://www.mike.eclipse.co.uk/htaccess/index.html)de:.htaccess