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

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.

Using variables in CSS

css - javascript


When styling your web app, you've probably found yourself copying hex colour codes, margin parameters or other styles to several elements to achieve a consistent design across your 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.