Hi,
this is in continuation to: http://drupal.org/node/144515 .
The bug from this thread was fixed on 5.2 drupal release. It affected drupal.org and my site.
As you can read, this bug caused the load of unwanted results when going to a non existing node.
It created an ugly paginations of hundreds of unwanted pages. The problem is that now, these pages are still in search engines and search engines are visiting them thus it creates a views error:
Here is how the Url that trigger the error is: http://www.mysite.com/taxonomy/term/17...?page=10 (yes, with the 3 dots).
And here are the errors in the watch dogs when going to such an url instead of loading a page not found:
Invalid argument supplied for foreach() in /XXXXX/modules/aacontrib/views/modules/views_taxonomy.inc on line 524.
and:
array_map(): Argument #2 should be an array in /XXXXXX/modules/aacontrib/views/modules/views_taxonomy.inc on line 493.
When I load a page like http://www.mysite.com/taxonomy/term/17...?page=10, it will display a page not found message, but just bellow it, the entire list of the nodes of my site, badly paginated as in the line above, creating unwanted load on the server and unwanted pages in the search engines.
I don't know if this is related to drupal core or views specifically, but there is something wrong here.
Just a note: when going to the bad url with the 3 dots, it seems the error page isn't standard page, but the page I created once and specified in the error-reporting setting. I had then removed the specification of the url from there, still, it seems the system loads this page when going to the curious url. When going to other non existing page, it loads the standard, unspecified "page not found" message. Might be a clue to the bug.
Cordially,
Brakkar
Comments
Comment #1
greg_y commentedI see this same behavior in my watchdog log ~30 times / day. First there for a query to a nonexistent URL ... perhaps from a spider:
http://lifetwo.com/production/taxonomy/term/20060719-1001-books-you-must...
This URL is mixing /taxonomy/term/ with a legit URL. There IS a node http://lifetwo.com/production/node/20060719-1001-books-you-must-read-bef... but I can't imagine how /taxonomy/term/ ever got injected in place of /node/ anywhere on the site. And the real URL is to a one-page post -- no page=4 ever. So the mixed URL is nonexistent.
(FWIW, the request comes from an IP address registered to Inktomi Corp. Yahoo bought them five years ago so it's probably their spider hitting a page it somehow discovered at one point.)
In response to the request, Drupal shows a teaser view of 10 nodes. Judging from the 136 pages you can jump to, it is returning a listing of all nodes on the site. Brakkar's comment above makes me think this is b/c we're still on Drupal 5.1 (yes, I know ...).
This request generates two errors. First,
warning: array_map() [function.array-map]: Argument #2 should be an array in /home/18358/domains/lifetwo.com/html/production/sites/all/modules/views/modules/views_taxonomy.inc on line 493.then ...
warning: Invalid argument supplied for foreach() in /home/18358/domains/lifetwo.com/html/production/sites/all/modules/views/modules/views_taxonomy.inc on line 524.That's it. Sorry I can't be more specific about why this is happening. We're using Views 5.x-1.6.
Comment #2
merlinofchaos commentedThis will not be fixed in Views 1.