error 404 rerouting
-
Not much to say. You'll have to parse the received request for the 404 and find out which site the missing page belongs to. Then, use the
window.location
property to forward to the correct site. Michael Flanakin Web LogAny resources that you could refer me to where I'd find the java script syntax to do that. I'm only acquintanted with java script in browsers and haven't been fully introduced so I'm not sure how I would retrieve the value of the page which cause the 404.
-
Any resources that you could refer me to where I'd find the java script syntax to do that. I'm only acquintanted with java script in browsers and haven't been fully introduced so I'm not sure how I would retrieve the value of the page which cause the 404.
This should be a good start: http://www.w3schools.com/js/default.asp[^]. http://www.w3schools.com[^] is a great resource. In order to give you any more help, I'd have to know the exact URL the page receives when a 404 happens. I'm assuming you get a querystring variable that specifies the requested page that wasn't found. If not, then you're kinda SOL. Michael Flanakin Web Log
-
This should be a good start: http://www.w3schools.com/js/default.asp[^]. http://www.w3schools.com[^] is a great resource. In order to give you any more help, I'd have to know the exact URL the page receives when a 404 happens. I'm assuming you get a querystring variable that specifies the requested page that wasn't found. If not, then you're kinda SOL. Michael Flanakin Web Log
Thanks for the links Michael. No, there is no querystring variable. I was under the impression that you could pick up the referring page (the missing page that generates the 404) from a java variable?
-
Thanks for the links Michael. No, there is no querystring variable. I was under the impression that you could pick up the referring page (the missing page that generates the 404) from a java variable?
I don't think it'll work because it's not a redirect. You can try it. That'd be
document.referrer
, using JavaScript. At least, I think that's right. I know ASP calls itHttpReferer
(only one "r"). Who knows why they're different. You can try this, but I'm pretty sure it won't work. What happens is IIS looks for the file before sending the request to the page. If it's not there, then it checks to see how 404 messages should be handled. Not having the invalid URL makes it pretty much pointless, as far as I know. Well, I guess there's only one last hope (assuming the JavaScript referrer doesn't work): does your URL change when you get redirected to the 404 page? If not, then that's your saving grace. Just grab thewindow.location.href
property. I'm assuming it does change, but I'll keep my fingers crossed for you. Michael Flanakin Web Log -
I don't think it'll work because it's not a redirect. You can try it. That'd be
document.referrer
, using JavaScript. At least, I think that's right. I know ASP calls itHttpReferer
(only one "r"). Who knows why they're different. You can try this, but I'm pretty sure it won't work. What happens is IIS looks for the file before sending the request to the page. If it's not there, then it checks to see how 404 messages should be handled. Not having the invalid URL makes it pretty much pointless, as far as I know. Well, I guess there's only one last hope (assuming the JavaScript referrer doesn't work): does your URL change when you get redirected to the 404 page? If not, then that's your saving grace. Just grab thewindow.location.href
property. I'm assuming it does change, but I'll keep my fingers crossed for you. Michael Flanakin Web LogMichael: You're a genuis - a millions thanks for your help. This works and does just what I want:
var lostPage = window.location.href; window.location = "http://www.xxxxxx.com/pnf.aspx?lost=" + lostPage;
Once I'm at the aspx page it becomes much easier to process and redirect the error. Thanks again!! -
Michael: You're a genuis - a millions thanks for your help. This works and does just what I want:
var lostPage = window.location.href; window.location = "http://www.xxxxxx.com/pnf.aspx?lost=" + lostPage;
Once I'm at the aspx page it becomes much easier to process and redirect the error. Thanks again!!I'm trying to improve on this and also get the page which had the link to the missing page. I'm trying to use the history object:
document.write("window.history.length=" + window.history.length + " ");
etc... Problem is I can't work out how to access element n out of the history array. I tried window.history[1] etc. but that doesn't work and the w3 schools doesn't seem to have any more info on it. Anybody know the syntax for this? -- modified at 0:12 Friday 30th December, 2005 -
Michael: You're a genuis - a millions thanks for your help. This works and does just what I want:
var lostPage = window.location.href; window.location = "http://www.xxxxxx.com/pnf.aspx?lost=" + lostPage;
Once I'm at the aspx page it becomes much easier to process and redirect the error. Thanks again!!By the way, I was kind of wrong. You should set
window.location.href
, not justwindows.location
. It's been a while :-P I think it might work either way in IE, but specifying thehref
property is the correct way. Michael Flanakin Web Log -
By the way, I was kind of wrong. You should set
window.location.href
, not justwindows.location
. It's been a while :-P I think it might work either way in IE, but specifying thehref
property is the correct way. Michael Flanakin Web LogThanks Michael - I'll correct that. Any ideas about the history object?
-
I'm trying to improve on this and also get the page which had the link to the missing page. I'm trying to use the history object:
document.write("window.history.length=" + window.history.length + " ");
etc... Problem is I can't work out how to access element n out of the history array. I tried window.history[1] etc. but that doesn't work and the w3 schools doesn't seem to have any more info on it. Anybody know the syntax for this? -- modified at 0:12 Friday 30th December, 2005Due to privacy issues, you cannot see the history. The only way to access this is to use the
window.history.back()
method. Yeah, it kind of sucks, but think about what it would mean if sites could see where you've been. Michael Flanakin Web Log -
Due to privacy issues, you cannot see the history. The only way to access this is to use the
window.history.back()
method. Yeah, it kind of sucks, but think about what it would mean if sites could see where you've been. Michael Flanakin Web LogThat makes sense. But I was under the impression that you could at least get to the page that linked to this one. Otherwise your log files wouldn't be able to tell you where your referrals came from right?
-
That makes sense. But I was under the impression that you could at least get to the page that linked to this one. Otherwise your log files wouldn't be able to tell you where your referrals came from right?
Did you try
document.referrer
? Michael Flanakin Web Log -
Did you try
document.referrer
? Michael Flanakin Web LogI thought I had tried document.referrer last week and couldn't get it to work but just tried it again now and it seems to work okay. Thanks again!! Problem solved and a solution found thanks to all your help :)
-
I thought I had tried document.referrer last week and couldn't get it to work but just tried it again now and it seems to work okay. Thanks again!! Problem solved and a solution found thanks to all your help :)
Not a problem. Note that you won't get a referring page if you go directly to the page. That only exists if you click a link to browse to a page. Michael Flanakin Web Log