You are here: Re: If isset query_string return 404 « PHP Programming Language « IT news, forums, messages
Re: If isset query_string return 404

Posted by d on 09/26/50 11:37

"wd" <n23@nospam.invalid> wrote in message
news:pan.2006.01.17.12.17.01.495568@nospam.invalid...
> On Tue, 17 Jan 2006 12:06:45 +0000, d wrote:
>
>> "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
>
> So, the query_string just contains the URL that is requested? Could I
> just see if the query_string contains a question mark and then send the
> 404 if a question mark is found?

No, $_SERVER["QUERY_STRING"] is empty when there is no query string. If
there is a query string, say the page is:

http://somesite.com/?something

then $_SERVER["QUERY_STRING"]=="something". Check to see if the string is
empty, and if it is empty, then you're OK. If it's not empty, then a query
string has been passed.

dave

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация