Jump to content

Archived

This topic is now archived and is closed to further replies.

StirCrazy

header('HTTP/1.1 301 *CLOSED*

Recommended Posts

I'm trying to get some simple code working and wondered if someone could help me.

Basicly what i need doing is below

<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$id);
exit;
?>

only some of the links contain www.domain.com and others contain [a href=\"http://www.domain.com\" target=\"_blank\"]http://www.domain.com[/a]

what I need is ...

if $id doesn't have http:// or https:// then add http:// and redirect
if $id does have http:// or https:// then redirect without changing anything.
if $id has no value then carry on with the rest of the code...


Does that make any sense?

S.C>

Share this post


Link to post
Share on other sites
Here's a very basic validation example:

[code]
<?php
// Set $id first

if (!empty($id)) {  // Does $id contain something?

    // Add http:// when $id doesn't start with http:// or https://
    if (!preg_match('/^https?:\/\//i', $id)) {
        $id = 'http://' . $id;
    }
    
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: ' . $id);
    exit;
}

// Carry on with rest of code

?>
[/code]

Ideally, the $id should be checked more thoroughly to conform to URL standards.

Share this post


Link to post
Share on other sites
toplay your a star! thank you ~
when you say URL standards what do you mean? I only chose $id because im guessing google will think it's a session id and not follow the link (which is what I want).
(e.g [a href=\"http://www.domain.com/link.php?id=***url***\" target=\"_blank\"]http://www.domain.com/link.php?id=***url***[/a] )

Thanks again.

S.C>

Share this post


Link to post
Share on other sites
[!--quoteo(post=370141:date=Apr 30 2006, 10:43 AM:name=StirCrazy)--][div class=\'quotetop\']QUOTE(StirCrazy @ Apr 30 2006, 10:43 AM) [snapback]370141[/snapback][/div][div class=\'quotemain\'][!--quotec--]
toplay your a star! thank you ~
when you say URL standards what do you mean? I only chose $id because im guessing google will think it's a session id and not follow the link (which is what I want).

Thanks again.

S.C>
[/quote]
I just mean that it conforms to RFC regs. You know, make sure that it's something like www.example.com rather just some garbage data (i.e. $id="I'm being silly"). Data should always be validated very strictly, especially if it's being passed in the URL (GET method).

You can search for regular expressions at this site. I don't know, search for www, domain, or URL, or something similar:

[a href=\"http://regexlib.com/Search.aspx?k=www\" target=\"_blank\"]http://regexlib.com/Search.aspx?k=www[/a]

[a href=\"http://regexlib.com/Search.aspx?k=domain\" target=\"_blank\"]http://regexlib.com/Search.aspx?k=domain[/a]

Share this post


Link to post
Share on other sites
Here's a cool tool if you want to want to confirm your headers are actually working properly.

Firefox HeaderGetter Extension

-Ben

Share this post


Link to post
Share on other sites
[!--quoteo(post=374147:date=May 15 2006, 04:02 PM:name=codecontractor)--][div class=\'quotetop\']QUOTE(codecontractor @ May 15 2006, 04:02 PM) [snapback]374147[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Here's a cool tool if you want to want to confirm your headers are actually working properly.

Firefox HeaderGetter Extension

-Ben
[/quote]
There is no advertising allowed in these forums. Since you wrote this extension, I consider it advertising. You're allowed to put stuff like that in your signature though.

Also, this topic has been solved and the last post was over 2 weeks old and IMO is generally bad taste to post at that point.

I prefer a much better extension that does a whole lot more called LiveHTTPHeaders for Firefox:

[a href=\"http://livehttpheaders.mozdev.org/\" target=\"_blank\"]http://livehttpheaders.mozdev.org/[/a]

This topic is now closed.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.