Rewrite
We *heart* canonical URIs
[Note – I’ve recently come accross a web hosting company that disallows Options +FollowSymLinks
. When used their server throws an internal error page – you may need to replace with the more secure (on shared hosting systems anyway) Options +SymLinksIfOwnerMatch
]
Get rid of those pesky Ws.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www.example.co.uk$ [NC]
RewriteRule ^(.*)$ http://example.co.uk/$1 [R=301,L]
Or as you may well prefer – reinstate them
The SEO boys, they say “www“.
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [R=301,L]
…rewrite continued:
#redirect all .html pages to .php
RewriteBase /
RewriteRule ^(.*).html$ $1.php [R=301]
Redirects
#specific page redirects - PERMANENT
redirect 301 /example-page.html http://example.com/new-name.html
#specific page redirects- TEMPORARY
redirect 302 /example-page.html http://example.com/new-name.html
Spell checker
Thanks to Jens Meiert This little line will allow a single typo in your users’ URIs (guess who just discovered that “URL” is a depreciated term):
CheckSpelling On
Get rid of any instances of “index.html”. And more
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /([^/]+/)index.(html?|php) HTTP/
RewriteRule ^(([^/]+/))index.(html?|php)$ http://example.com/$1 [R=301,L]
Add trailing slashes where they may have been missed…
Thanks to Webmaster World
# If final URL-path-part does not contain a period or end with a slash
RewriteCond %{REQUEST_URI} !(.[^/]*|/)$
Redirect to add a trailing slash
RewriteRule (.*) http://www.example.com/$1/ [R=301,L]
more…
Set PDFs to download rather than open in browser
#option for PDFs to download rather than open
AddType application/octet-stream .pdf
Disable directory browsing
# disable directory browsing
Options All -Indexes
Redirect denied directory listings etc to standard error page
# redirect denied directory listings etc to standard error page
ErrorDocument 403 /404-redirect.html
ErrorDocument 404 /404-redirect.html
Ease versioning of CSS files (+)
Will also improve history viewing with GitX
Note: this assumes a naming convention of, for example /css/filename.1234.css
. Other dots will break this fragile little fellow.
#Rules for Versioned Static Files
RewriteRule ^(scripts|css)/(.+).(.+).(js|css)$ $1/$2.$4 [L]
Last updated on 5th September 2018
Leave a Reply