php - Header location redirect not changing domain with rewrite
one text
We've got a page that needs to redirect to another one. Normally, this is a relatively straightforward thing. However, the page we are redirecting to is on another domain. The page:
needs to redirect to http://www.example.com/another-page.php
normally this is a simple affair in php.
header("Location: http://www.example.com/another-page.php");
die();
right? I've done it hundreds of thousands of times. But in this one case, we are arrive in our-page.php via an IIS rewrite rule. Now, when you hit the page, the browser goes off to
www.oursite.com/another-page.php
No matter what I put into the location header, it sticks to www.oursite.com. I know the header is definitely being set, it's not giving me any header not set warnings, and it is trying to go to another-page.com.
Is there some cross domain restriction to the location header I'm not aware of? I've not been able to find anything online. The page redirects fine in any other case, just not with the rewrite rule
IIS rule is:
<rule name="test" enabled="true" stopProcessing="true">
<match url="^test/(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="https://{HTTP_HOST}/our-page.php/?path={R:1}}" />
</rule>
There was more going on, but I've stripped back the code to nothing but setting the location header.
What I expect to happen is I go to http://www.oursite.com/test/some-path. That gets rewritten to http://www.oursite.com/our-page/?path=some-path, which in turn gets the header set and the user ends up on http://www.example.com/another-page.php.
What actually happens is the user ends up on http://www.oursite.com/another-page.php (and then bumped again to our 404 page because that does not exist)
Source