472,145 Members | 1,434 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,145 software developers and data experts.

redirect with Anchor Tag in IE

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
9 9734
> 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
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
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
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
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
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
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
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
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.

Similar topics

1 post views Thread by Rafael Leonhardt | last post: by
3 posts views Thread by david | last post: by
1 post views Thread by june | last post: by
3 posts views Thread by Sean | last post: by
1 post views Thread by comp.lang.php | last post: by
3 posts views Thread by Joseph Gruber | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.