Hi I've got a new domain and want to redirect my users to the new domain's equivalent path.
So if they go on: oldsite.com/money.php?value=1
Then it should direct them to: newsite.com/money.php?value=1
I have the same header.php for all the pages, so can this be done with a simple php line?
I will give you 2 functions which could be useful for some other thing;
function currentURL() {
$pageURL = 'http';
($_SERVER["SERVER_PORT"] === 443) ? $pageURL .= "s" : '';
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
function redirect2NewDomain () {
$url = currentURL();
if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED) === FALSE) {
return false;
}
# Get the url parts
$parts = parse_url($url);
Header( "Location : {$parts['scheme']}://{$parts['host']}" );
}
Ofcourse using .htaccess is much more easier and will be better for SEO;
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
I hope this helps
You shouldn't do this in PHP. These things can be easily done in your .htaccess:
#Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.olddomain.com$[OR]
RewriteCond %{HTTP_HOST} ^olddomain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
This code will redirect olddomain.com/page.php
to newdomain.com/page.php
It will also redirect folders: olddomain.com/folder/
to newdomain.com/folder/
By using this code google will also understand that you are switching domains and won't lower your page ranks for double content.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With