docs: def redirect_to_url(req, url, redirection_type=None, norobot=False):
      """
      Redirect current page to url.
      @param req: request as received from apache
      @param url: url to redirect to
      @param redirection_type: what kind of redirection is required:
      e.g.: apache.HTTP_MULTIPLE_CHOICES             = 300
            apache.HTTP_MOVED_PERMANENTLY            = 301
            apache.HTTP_MOVED_TEMPORARILY            = 302
            apache.HTTP_SEE_OTHER                    = 303
            apache.HTTP_NOT_MODIFIED                 = 304
            apache.HTTP_USE_PROXY                    = 305
            apache.HTTP_TEMPORARY_REDIRECT           = 307
      The default is apache.HTTP_MOVED_TEMPORARILY
      @param norobot: wether to instruct crawlers and robots such as GoogleBot
          not to index past this point.
      @see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3
      """
      url = url.strip()
      if redirection_type is None:
          redirection_type = apache.HTTP_MOVED_TEMPORARILY
  
      from flask import redirect
      r = redirect(url, code=redirection_type)
      raise apache.SERVER_RETURN(r)
      # FIXME enable code bellow
  
      del req.headers_out["Cache-Control"]
      req.headers_out["Cache-Control"] = "no-cache, private, no-store, " \
          "must-revalidate, post-check=0, pre-check=0, max-age=0"
      req.headers_out["Pragma"] = "no-cache"
  
      if norobot:
          req.headers_out[
              "X-Robots-Tag"] = "noarchive, nosnippet, noindex, nocache"
  
      user_agent = req.headers_in.get('User-Agent', '')
      if 'Microsoft Office Existence Discovery' in user_agent or 'ms-office' in user_agent:
          # HACK: this is to workaround Microsoft Office trying to be smart
          # when users click on URLs in Office documents that require
          # authentication. Office will check the validity of the URL
          # but will pass the browser the redirected URL rather than
          # the original one. This is incompatible with e.g. Shibboleth
          # based SSO since the referer would be lost.
          # See: http://support.microsoft.com/kb/899927
          req.status = 200
          req.content_type = 'text/html'
          if req.method != 'HEAD':
              req.write("""
  <html>
      <head>
          <title>Intermediate page for URLs clicked on MS Office Documents</title>
          <meta http-equiv="REFRESH" content="5;url=%(url)s"></meta>
      </head>
      <body>
          <p>You are going to be redirected to the desired content within 5 seconds. If the redirection does not happen automatically please click on <a href="%(url)s">%(url_ok)s</a>.</p>
      </body>
  </html>""" % {
                  'url': escape(req.unparsed_uri, True),
                  'url_ok': escape(req.unparsed_uri)
              })
          raise apache.SERVER_RETURN(apache.DONE)
  
      req.headers_out["Location"] = url
  
      if req.response_sent_p:
          raise IOError("Cannot redirect after headers have already been sent.")
  
      req.status = redirection_type
      req.write('<p>Please go to <a href="%s">here</a></p>\n' % url)
  
      raise apache.SERVER_RETURN(apache.DONE)