Is it GoDaddy's DNS or is it cached browsers?

So I took over a website that was served from a GoDaddy server.

After taking over the DSN configuration in the GoDaddy account I pointed the www record to my Linode VPS and the nameserver to my linode nameservers. I set up my NginX on my VPS to serve up the domain via Passenger as a normal rails app. Same as all my other rails apps. Everything works pretty well.

The one problem I have is that there is a path named catering_path. “
The old site also has a catering page (catering.htm or catering.php I can see both files on the GoDaddy server)

For some reason when it comes back from the server it comes back “domain/catering.htm” OR sometimes it comes back as “domain/catering.php” and when this extension is added by ??? GoDaddy’s server or cached browsers? the page comes back with my rails content but with only some erb is processed - never any administration links. This stumped me because it is serving up the right page from rails but not showing my links to add, edit and delete. it is showing a flash partial and menu items from the model (so some dynamic code is working).

I tested it on my development server and if I request catering.htm or catering.php it does the exact same thing.
I’m intrigued.

But (on the live site) where is it changing from catering to catering.php or catering.htm?
And how can I stop it?

I’m thinking I can correct it inside of NginX but I’m not sure.
Anyone with similar experience or ideas?

The answer is both.

At some point in the request cycle, after (or maybe before) my NginX webserver and Passenger app server processed it, the GoDaddy Apache server must have gotten a hold of the request object and added the .php or .htm file extension to the url.
Then, because of browser caching, the browser seemed to expect the extensions.

To correct this problem:
I changed the Apache .htaccess file to rewrite the URL without the extensions but that seemed to do nothing.
Then I took any php or htm files out of the GoDaddy root directory where Apache would be looking for the old site files. I figured Apache would just pass on whatever it had and not change it since it couldn’t find any files to process on it’s end.
After all that I cleared my browsers’ histories.

It seems to be solved.

No more .php or .htm and my administrative links are working as expected.

Intriguing to say the least, I thought if I pointed the site to my VPS ip address and pointed the nameservers to my VPS all GoDaddy assets would get bypassed. I guess not.

Wouldn’t you also think that GoDaddy servers would be bypassed?
I’m still curious as to how this was possible.