If you search something like ".net" or anything that has a DOT in front of it, the resulting url will be
/search/google/.net?query=.net.........

And that causes the following error message on the browser: "Firefox has detected that the server is redirecting the request for this address in a way that will never complete."

Im not sure if this bug is on CSE module, or is it on core htaccess clean urls.

If works fine if clean urls are disabled.

Does anybody can share some info about it?

Comments

seaarg’s picture

Issue summary: View changes

More information about the bug

malcomio’s picture

Project: Google Programmable Search Engine » Drupal core
Version: 7.x-1.x-dev » 7.x-dev
Component: Code » search.module
Issue summary: View changes

This also happens for me using the core node search - as you say, when clean URLs are disabled, there is no issue.

On my site, the result is 403 forbidden, rather than an infinite redirect loop.

malcomio’s picture

Component: search.module » other

If the search term is wrapped in quotes, then it works fine.

I haven't been able to reproduce it with any character other than .

This type of search shouldn't result in a broken page, though.

I'm not sure if it is specifically a search problem, or a problem with the .htaccess rules - other URLs with a . after a / will also produce the same behaviour, rather than the drupal 404 page.

e.g. http://www.red-route.org/test/.hello http://www.red-route.org/test/hello

also happens on d.o.: https://www.drupal.org/test/.hello

peter.walter’s picture

I see this is now fixed on drupal.org, but still broken on fresh install of 7.x-dev

peter.walter’s picture

This is being blocked by .htaccess

  # Block access to "hidden" directories whose names begin with a period. This
  # includes directories used by version control systems such as Subversion or
  # Git to store control files. Files whose names begin with a period, as well
  # as the control files used by CVS, are protected by the FilesMatch directive
  # above.
  #
  # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
  # not possible to block access to entire directories from .htaccess, because
  # <DirectoryMatch> is not allowed here.
  #
  # If you do not have mod_rewrite installed, you should remove these
  # directories from your webroot or otherwise protect them from being
  # downloaded.
  RewriteRule "(^|/)\." - [F]