Home > Article > Backend Development > 16 .htaccess file setting tips that programmers don’t know
Reprinted original text address: http://www.jb100.net/html/content-22-741-1.html The .htaccess file (Hypertext Access file) is a very powerful configuration file for the Apache web server. For this file, Apache has a bunch of parameters that allow you to configure almost any function you want. The .htaccess configuration file adheres to the Unix culture of using an ASCII plain text file to configure your website's access policy. This article includes 16 very useful tips. In addition, because .htaccess is a very powerful configuration file, a slight grammatical error can cause your entire website to malfunction. Therefore, when you modify or replace the original file, be sure to back up the old file so that It can be easily restored when problems occur. 1. Use .htaccess to create a custom error page. This is an extremely simple matter for Linux Apache. You can easily accomplish this using the following .htaccess syntax. (Put .htaccess in your website root directory) ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 2. Set the time zone of the website SetEnv TZ America/Houston 3. Block IP List Sometimes, you need to block access by IP address. Whether it's for an IP address or a network segment, it's a very simple thing, as shown below: allow from all deny from 145.186.14.122 deny from 124.15 Apache will return a 403 error for rejected IPs. 4. Transfer some old links to new links - Search Engine Optimization SEO Redirect 301 /d/file.htmlhttp://www.htaccesselite.com/r/file.html 5. Set up email for the server administrator. ServerSignature Email SetEnv SERVER_ADMINdefault@domain.com 6. Use .htaccess to prevent hotlinking. If an image on your website is referenced by numerous other websites, this is likely to cause a decrease in the performance of your server. Use the following code to protect certain popular links from being referenced too much. Options +FollowSymlinks #ProtectHotlinking RewriteEngineOn RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/[nc] RewriteRule .*.(gif|jpg|png)$[nc] 7. Block all requests from User Agent ## .htaccess Code :: BEGIN ## Block Bad Bots by user-Agent SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot ## .htaccess Code :: END 8. Redirect requests from certain special IP addresses to other sites ErrorDocument 403http://www.youdomain.com Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123 9. Find the file directly instead of downloading it – Usually, when we open a file on the Internet, a dialog box will always appear asking us whether to download or open it directly. Using the following settings, this problem will not occur and we will open it directly. AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov 10. Change the file type – The following example can make any file be interpreted by the server as PHP. For example: myphp, cgi, phtml, etc. ForceType application/x-httpd-php SetHandler application/x-httpd-php 11. Block access to .htaccess files # secure htaccess file order allow,deny deny from all 12. Protect files on the server from being accessed # prevent access of a certain fileorder allow,deny deny from all 13. Block directory browsing #disable directory browsing Options All -Indexes 14. Set default homepage # serve alternate default index page DirectoryIndex about.html 15. Password Authentication – You can create a file for authentication. Here is an example: # to protect a file AuthType Basic AuthName “Prompt” AuthUserFile /home/path/.htpasswd Require valid-user # password-protect a directory resides AuthType basic AuthName “This directory is protected” AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user 16. Convert old domain name to new domain name # redirect from old domain to new domain RewriteEngineOn RewriteRule ^(.*)$http://www.yourdomain.com/$1[R=301,L] Reprinted original text address: http://www.jb100.net/html/content-22-741-1.html |