|
Posted by d on 09/26/05 11:37
"wd" <n23@nospam.invalid> wrote in message
news:pan.2006.01.17.11.23.23.321125@nospam.invalid...
>I want my server to send a 404 header if a URL with a query string is
> requested. So if a browser or spider requests something
> like
> www. my_site .com?p=chair
> they would get a 404...
>
> But if they request
> www. my_site .com/chair.htm
> everything would be normal.
>
> With some assistance this is what I have so far, but it isn't working
> correctly. It always displays the 404, even when there is no question
> mark in the URL. Also, I would like the page to stop displaying anything
> after the "HTML>>>" if it sends the 404 error, but I'm not sure how to do
> it:
>
>
> if (isset($_SERVER["QUERY_STRING"])) {
> header("HTTP/1.0 404 Not Found");
> echo <<<HTML
>
> <head>
> <title>404 Not Found</title>
> </head>
> <body>
> <h1>Not Found</h1>
> The requested URL was not found on this server.
> </body>
> </html>
>
> HTML>>>;
>
> }
That's because $_SERVER["QUERY_STRING"] is *always* set, regardless of
whether there's a query string or not. You might want to compare it to an
empty string, or check its length. Checking whether it's set or not does
not check the content at all...
dave
Navigation:
[Reply to this message]
|