PHP Script for URL Redirect with parameters

dauyeung
dauyeung used Ask the Experts™
on
Hello,

I need to redirect all requests to one domain and redirect it to another.  However, I need it to redirect with all the parameters.

I can put a php page on a Netfirms.com domain.

I have a main domain (e.g. www.LongDomainName.com) and a short domain (e.g. www.shrtDm.com).  

I have recently moved my corporate website into a fully hosted environment.  Previously, we hosted the proprietary CMS.  In my setup, I had IIS forward all requests for www.shrtdm.com to www.LongDomainName.com, including all parameters after the domain.

So  IIS would redirect requests for http://www.shrtdm.com/contactus to http://www.LongDomainName.com/contactus.  It was a wildcard redirect, so it would work for any URL, not just predesignated ones, such as:

Redirect request for:

www.shrtDm.com/page.aspx?pid=10321 

to:

www.LongDomainName.com/page.aspx?pid=10321


Thank You.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Most Valuable Expert 2011
Top Expert 2016

Commented:
You can use PHP header("Location") to do this redirection.  I'll show you an example as soon as I can find it in my library.
Most Valuable Expert 2011
Top Expert 2016
Commented:
This ought to do it.
<?php

// GET REQUEST URL + VARS
$path = $_SERVER["REQUEST_URI"];

// SET NEW DOMAIN NAME - FULLY QUALIFIED
$name = 'http://www.MyLongDomainName.com';

// CREATE THE NEW URI LOCATION WITH THE NEW DOMAIN + REQUEST DATA
$uri = $name . $path;

header("HTTP/1.1 301 Moved Permanently");
header("Location: $uri");
exit;

Open in new window

Author

Commented:
I'm new to PHP, I'm guessing that you missed the ?> at the end.
Introduction to Web Design

Develop a strong foundation and understanding of web design by learning HTML, CSS, and additional tools to help you develop your own website.

Most Valuable Expert 2011
Top Expert 2016

Commented:
Good point, but no, I deliberately omitted the close-PHP tag.  The ?> at the end is useless and should be avoided if at all possible.  The only permissible use of the close-PHP tag is when the PHP script must stop so HTML can start.  In professionally written PHP applications this happens very, very rarely.

Author

Commented:
Great.  Thanks.  It works, if I directly request the URL.  ie.  www.shrtdm.com/index.php?pageid=1929

But it doesn't work for other pages, e.g. www.shrtdm.com/index.aspx?pageid=1912.

Any ideas?  I'm thinking that it's more to do with the host setup than anything.
Most Valuable Expert 2011
Top Expert 2016

Commented:
There is a difference between PHP pages and ASPX pages, and this question was only posted in the PHP Zone.  Sorry but I reflexively responded with only the basic PHP solution.  Maybe you can ask the EE moderators to add it to other EE Zones.
Most Valuable Expert 2011
Top Expert 2016

Commented:
@Dauyeung:

Why did you give a bad grade?  Why didn't you follow the recommendation to get a moderator to help?

I gave you a tested-and-working code example based on all of the information you provided in the question.  Please see the grading guidelines here and please explain the grade as required by the guidelines.
http://www.experts-exchange.com/help/viewHelpPage.jsp?helpPageID=26

Thank you.

Author

Commented:
Sorry.  According to the page you described, you do deserve an Excellent.  Do you know the best way to change the rating?  Looks like I need to post another request.
Most Valuable Expert 2011
Top Expert 2016

Commented:
You can use "Request Attention" if you want to ask a moderator for assistance. The link is typically near the original question.  Thanks for your consideration.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial