Five practical .htaccess tricks

30 Nov, 2018

Apache's '.htaccess' has some very powerful tools that you can use with minimal effort to enhance the user experience and even performance, of your website. These are the top 5 .htaccess tricks that you should add to your website today.

1. Redirecting users to your maintenance page. If you're making some big changes to your site that could affect users negatively, you may want to temporarily redirect them to a maintenance page while you make the changes.


RewriteEngine On
RewriteBase /

# Allow your IP
RewriteCond %{REMOTE_ADDR} !^000\.000\.000\.000

# Redirect to maintenance.html
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://example.com/maintenance.html [R=307,L]
		

2. Enabling gzip compression to reduce the time it takes your website to load.


# Compression
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip
		

3. Blocking bad IP addresses.


# Block some IP 000.000.000.000
RewriteCond %{REMOTE_HOST} 000.000.000.000 [OR]
		

4. Specify custom HTTP error pages to create a better user experience in the event of a broken link or some other error.


# Custom error pages
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html
		

5. Remove .html and .php extensions to shorten URLs and make them less confusing to users.


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
# Remove .php extention
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# Remove .html extention
RewriteRule ^([^\.]+)$ $1.html [NC,L]
		

Other Tutorials

View All

Triggering vibrations from your website

javascript


Most common mobile browsers (excluding safari) allow you to trigger the device's vibration motor from your web application using the Vibration API. The Vibration API is provided to you by the mobile browser itself.

Beme style progress bar

html - css - javascript


How to create a progress bar that wraps around the screen of any sized device similar to the Beme app.

CSS Material design toggle switch

html - css - javascript


Because sometimes all you want is just a good looking switch without importing an entire library to do it.