18 useful. htaccess file usage tips,
. Htaccess is a special configuration file in Apache on the Web server. It controls many behaviors on the server. We can use it to do many things, such as setting access permissions and URL redirection. This article shows you 18 tips for using. htaccess files.
Tip: When editing a. htaccess file, make sure that you back up the file first. This file is very important, and an error may cause unimaginable consequences!
1. Remove WWW from the blog website.
It is said that this is conducive to SEO. Add the following code to the. htaccess file, and all URLs with www. will be redirected to those without www. You need to change ijinfa.cn to your domain name!
?
123 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^ijinfa.cn$ [NC] RewriteRule ^(.*)$ http: //ijinfa.cn/$1 [L,R=301] |
Source: css-tricks
2. Forcibly use the URL in WWW. Format
Change www.ijinfa.cn to your domain name!
?
123 |
RewriteEngine On RewriteCond %{HTTP_HOST} ^ijinfa.cn [NC] RewriteRule ^(.*)$ http: //www.ijinfa.cn/$1 [L,R=301] |
Source: css-tricks
3. Set image anti-leech?
123456 |
RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http: //(.+\.)?mysite\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don't hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] |
4. Redirect all feeds in the WordPress blog to feedburner
Replace the http://feedburner.com/yourfeed/ with your feedburner ID.
?
1234 |
<IfModule mod_alias.c> RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http: //feedburner.com/yourfeed/ RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http: //feedburner.com/yourfeed/ </IfModule> |
Source: wprecipes
5. custom error page
You need to create some html files by yourself. When visitors access non-existent pages, these html pages will be displayed.
?
12345 |
ErrorDocument 400 /errors/badrequest.html ErrorDocument 401 /errors/authreqd.html ErrorDocument 403 /errors/forbid.html ErrorDocument 404 /errors/notfound.html ErrorDocument 500 /errors/serverr.html |
Source: css-tricks
6. Force download of a specific object
If your website provides the download of mp3s, eps, or xls files, you can use the following code to forcibly download them if you do not want the browser to decide whether to download them.
?
12345678 |
<Files *.xls> ForceType application/octet-stream Header set Content-Disposition attachment </Files> <Files *.eps> ForceType application/octet-stream Header set Content-Disposition attachment </Files> |
Source: givegoodweb
7. PHP error records
Create a php_error.log file on your server, and put the following code into the. htaccess file. Remember to modify the file path in Row 7. This is a very useful function.
?
1234567 |
# display no errs to user php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off # log to file php_flag log_errors on php_value error_log /location/to/php_error.log |
Source: css-tricks
8. Remove the file extension from the URL
File extensions are useful to Web developers, but they are useless to visitors and you do not want them to see them. Use the following method to remove them. The following method removes the html extension. You can change it to php, htm, asp, and so on.
?
12345 |
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.<span style= "color: #ff0000;" >html</span> -f RewriteRule ^(.*)$ $1 .<span style= "color: #ff0000;" >html</span> # Replace html with your file extension, eg: php, htm, asp |
Source: eisabainyo
9. Disable Automatic listing of system file directories
If an index file does not exist in a file directory on your website, the server will automatically list all files in the current directory. Generally, you do not want others to see it. Use the following code to disable the directory from being listed.
?
10. Compress static files and accelerate page downloads
This will reduce server bandwidth consumption to a certain extent and speed up reader access.
?
1234 |
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html |
11. automatically add UTF-8 encoding to the file
Some specific files, such as html, htm, css, or js, may sometimes forget to add the <meta http-equiv = "Content-Type"> encoding tag on the page, to prevent code problems, you can enable the page to automatically generate such tags.
?
123 |
<FilesMatch "\.(htm|html|css|js)$" > ForceType 'text/html; charset=UTF-8' </FilesMatch> |
Source: askapache
12. Remove the/category/directory name from the WordPress website.
By default, the permanent link of the WordPress category directory is displayed as follows:
?
1 |
http: //www.catswhocode.com/blog/category/wordpress |
The directory name/category/is useless and can be removed, just add the line up and down in the. htaccess file (where http://www.yourblog.com/is your domain name ):
?
1 |
RewriteRule ^category/(.+)$ http: //www.yourblog.com/$1 [R=301,L] |
Save the modified file, and the link form of the category directory will become as follows:
?
1 |
http: //www.yourblog.com/blog/wordpress |
Source: wprecipes
13. Use browser cache
One effective way to speed up blog is to force browser cache. Add the following statement to the. htaccess file:
?
1234567 |
FileETag MTime Size <ifmodule mod_expires.c> <filesmatch "\.(jpg|gif|png|css|js)$" > ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule> |
Source: wordpress-tutoriel
14. Redirect the permanent link with the published date and log name to the/% postname %/format
This/% postname %/is the log name, that is, the log name is used as a permanent link. First, log on to the WordPress background and go to Settings> permanent link. In the custom permanent link field, enter
/% Postname %/, your permanent blog link will become as follows:
?
1 |
http: //www.yourblog.com/name-of-the-post |
Next, we will use 301 redirection to direct all old links to the new link above. Open the. htaccess file under the WordPress root directory and add the following statement:
?
1 |
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http: //www.domain.com/$4 |
Done!
Source: wprecipes
15. Reject comments from others
The principle is to prohibit (robot) non-human access to wp-comments-post.php files, which can effectively prevent a large number of spam comments. Change yourblog.com on the fourth line to Your URL.
?
123456 |
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http: //%{REMOTE_ADDR}/$ [R=301,L] |
Source: wprecipes
16. Redirect visitors to a maintenance mode page
When upgrading a blog or modifying a topic, it is not a good thing to let visitors see these changes (especially code errors), or even cause security problems, it is necessary to direct all visitors to a specified maintenance mode page. The following method uses redirection to direct the reader to a page called “maintenance.html. The IP address of your blog is in the third line.
?
1234 |
RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L] |
Source: woueb
17. Only allow your own IP address to access the wp-admin directory
Unless it is a multi-author blog, if you are using a static IP address, you can set that only you can access the wp-admin directory, use"Allow from xx. xx. xxx. xx"In this format, multiple static IP addresses each occupy one row.
?
123456789 |
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic <LIMIT GET> order allow, deny deny from all allow from xx.xx.xx.xx </LIMIT> |
Source: reubenyau
18. Blacklist specific IP addresses
In the format of "deny from xxx. xx. xxx. xxx", different IP addresses take up five lines. This method can be used to prevent spam comments or visitors you want to prohibit access.
?
12345 |
<Limit GET POST> order allow,deny deny from 222.69.116.166 allow from all </Limit> |