Forum Moderators: phranque
If there is a directory with a file in it - i.e.
[myserver.co.uk...]
you can also access the same file with [myserver.co.uk...] - i.e. without the file extension. Note: if you put anything else on the end such as .html, .php etc. it doesn't work and forward to our standard error page. At this point the images and all the links on the page work correctly.
If you then try:
[myserver.co.uk...] this also works, but gives you the same page as before, but where all the image links are broken. I assume this is because the path to the images directory is ../images/ and since the server now thinks that the location is a directory within a directory, the path no longer works.
After this anything will work:
[myserver.co.uk...]
[myserver.co.uk...]
[myserver.co.uk...]
[myserver.co.uk...]
etc. and will all give the same file (or multi page thing - whatever it is!), but with the broken links. In addition, all the links on the page, that are not absolute, will use the path within the fake, non-existent, directory. The links will all work, but go to more pages containing broken image links and bad links to even more "bad" pages - a potentially endless spiral of pages in non-existent places, leading to more of the same.
Our search engine follows links and so at a certain point has found a link that leads in to this virtual world. The result is that has become clogged up with these 'fake' entries.
What is causing this, and how can we stop it? Any ideas? I assume it is something in the httpd.cnf or .htaccess files and it has been suggested that the FollowSymLinks and AllowOverride on settings may be causing this.
Any help appreciated
Thanks
Welcome to WebmasterWorld [webmasterworld.com]!
The first thing that comes to mind is that you probably have MultiViews enabled for content-negotiation. If your site does not need content-negotiation, then disable the MultiViews option. The reason I believe you have Multiviews enabled is that you say that /index is being treated the same as /index/. However, /index is a file, and /index/ is a directory according to URL rules, and MultiViews is the most-common 'agent' that will allow one to be served in response to a request for the other. Otherwise, they are completely different kinds of requests.
Another possibility is that you have some badly-written mod_rewrite or mod_alias code in httpd.conf or .htaccess that is rewriting from one request type to the other. But check out the MultiViews possibility first.
Jim