Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Normalise your URLs, yo:
# http://www.standardzilla.com/2007/07/09/dont-forget-your-trailing-slash/

TLD_LENGTH = 1

before_filter :remove_trailing_slashes
def remove_trailing_slashes
  if (uri = request.request_uri).length > 1 and uri[-1,1] == '/'
    headers['Status'] = '301 Moved Permanently'
    redirect_to uri.chop
    return false
  end
end

before_filter :no_www
def no_www
 if (bad_subdirs = ["ww", "www"]).any? {|s| [s]==request.subdomains(TLD_LENGTH)}
    headers['Status'] = '301 Moved Permanently'
    redirect_to :host => request.domain(TLD_LENGTH)
   return false
 end
end