By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,613 Members | 1,890 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,613 IT Pros & Developers. It's quick & easy.

redirect with Anchor Tag in IE

P: n/a
The following PHP code snippet works in Firefox and Opera but NOT
Internet Explorer (I'm using IE v 6.0.2xxx)
$url =
"http://www.theredirectsite.com/testpage.php?IDa=162&IDb=19909#AT2";
header("Location: " . $url); /* Redirect browser */
exit;

The Anchor Tag: "#AT2" generates a 505 error in Explorer. When the
Anchor Tag [#AT2] is removed from the URL everything works fine.
Any thoughts on a workaround?

Jul 17 '05 #1
Share this Question
Share on Google+
9 Replies


P: n/a
> The following PHP code snippet works in Firefox and Opera but NOT
Internet Explorer (I'm using IE v 6.0.2xxx)

$url =
"http://www.theredirectsite.com/testpage.php?IDa=162&IDb=19909#AT2";
header("Location: " . $url); /* Redirect browser */
exit;

The Anchor Tag: "#AT2" generates a 505 error in Explorer. When the
Anchor Tag [#AT2] is removed from the URL everything works fine.
Any thoughts on a workaround?


That's strange. Using your exact code there (simply changing the url),
it worked perfectly fine for me in IE. Maybe try replacing the # sign
with %23 instead, though I doubt that will fix the problem. I don't see
why it wouldn't work though.

Jul 17 '05 #2

P: n/a
Thanks for your comments. Here's the exact URL although I don't think
that makes a difference....

<?
// next line doesn't work in IE (but works in Firefox and Opera)
$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909#AT 2";
// when uncommented the next line works in IE
//$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909";
header("Location: " . $url); /* Redirect browser */
exit;
?>

BTW: It generates a 500 error in IE not 505.

Jul 17 '05 #3

P: n/a
Thanks for your comments. Here's the exact URL although I don't think
that makes a difference....

<?
// next line doesn't work in IE (but works in Firefox and Opera)
$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909#AT 2";
// when uncommented the next line works in IE
//$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909";
header("Location: " . $url); /* Redirect browser */
exit;
?>

BTW: It generates a 500 error in IE not 505.

Jul 17 '05 #4

P: n/a
An anonymous being wrote:
$url =
"http://www.theredirectsite.com/testpage.php?IDa=162&IDb=19909#AT2";
header("Location: " . $url); /* Redirect browser */
exit;

The Anchor Tag: "#AT2" generates a 50[0] error in Explorer. When the
Anchor Tag [#AT2] is removed from the URL everything works fine.
I can't reproduce your problem with my Internet Explorer web
browser (version 6.0.2600.0000IC, Windows 98). Could you
provide a URI to a test case? The error is maybe peculiar
to your server's response.

HTTP/1.1 does not, in fact, permit a fragment identifier as
part of the URI in a Location header. Its errata, however,
corrects this mistake; and I imagine the next version will
include the revision. But because browser developers
understand the spirit of the protocol, not just its exact
words, most browsers can handle such URIs.
Any thoughts on a workaround?


Not at this time; sorry.

--
Jock
Jul 17 '05 #5

P: n/a
Jock,

This is the actual URL [the one with the Anchor Tag] in question:

<?
// next line doesn't work in IE (but works in Firefox and Opera)
$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909#AT 2";
// when uncommented the next line works in IE
//$url =
"http://www.giuseppeverdi.it/Inglese/page.asp?IDCategoria=162&IDSezione=581&ID=19909";
header("Location: " . $url); /* Redirect browser */
exit;
?>

thanks....

Jul 17 '05 #6

P: n/a
An anonymous being wrote:
This is the actual URL [the one with the Anchor Tag] in question:


[ ... ]

Sorry, I meant the original URI, the one from which you are
redirecting. My reason for asking is that another part of
the response might be causing the problem. I suspect that
it's just a quirk in your browser though.

--
Jock
Jul 17 '05 #7

P: n/a
Jock,

Here's the URI:
http://www.allaboutopera.com/opera_r...opera_ndx=1358

The redirects in question are the "libretto" links -- Act 1, Act 2,
etc. Each of those links passes an Anchor Tag.
Thanks for your help.....

Jul 17 '05 #8

P: n/a
An anonymous being wrote:
http://www.allaboutopera.com/opera_r...opera_ndx=1358

The redirects in question are the "libretto" links -- Act 1, Act 2,
etc.


I get an error with my IE too, but not if I key the address
in directly. Turn off friendly error messages (Tools >
Internet Options > Advanced) and you instead get some
Italian text, after which you can press refresh to retrieve
the page.

You could, of course, miss out the middle man: rather than
linking to the horrible-looking

http://www.allaboutopera.com/redir/i...rl=http%3A%2F%
2Fwww.giuseppeverdi.it%2FInglese%2Fpage.asp%3FIDCa tegoria%3D
162%26IDSezione%3D581%26ID%3D19909%23AT1

link to the not quite so horrible-looking

http://www.giuseppeverdi.it/Inglese/...DCategoria=162
&IDSezione=581&ID=19909#AT1

IE does handle #s in Location URIs though; you can try it
yourself. I don't know why this redirect is any different.
Since the problem seems to be specific to IE, and it's off-
topic here, I'd consult an IE newsgroup. (They have a
separate group for this because it's not worth including IE
in discussions of proper browsers.)

--
Jock
Jul 17 '05 #9

P: 1
Jock,

Here's the URI:
http://www.allaboutopera.com/opera_r...opera_ndx=1358

The redirects in question are the "libretto" links -- Act 1, Act 2,
etc. Each of those links passes an Anchor Tag.
Thanks for your help.....
:eek: Unfortunately, when PHP takes the string argument in the header() function, it does not properly pass the '#' pound sign to the header. The best solution for this is to return a blank page (or a 'you are being redirected, click here if you don't go there) with a META redirect in the head of the returned document. i.e. HTTP-EQUIV=Refresh CONTENT=0;url_to_redirect_to

Passing a blank page shouldn't affect any processing in the page, especially if your script buffers the output.

-~Cheers~-
Oct 12 '05 #10

This discussion thread is closed

Replies have been disabled for this discussion.