Rewriting host-header fails

ISAPI_Rewrite is Apache mod_rewrite compatible URL rewriter for Microsoft IIS
User avatar
Posts: 2
Joined: 27 Apr 2012, 09:35

Rewriting host-header fails

27 Apr 2012, 09:42

This is what I want to do:

When and URL comes in like: http://query.test.localhost/
I want to rewrite it to: http://localhost/Test/Query

This is my configuration:

RewriteCond %{HTTP_HOST} query\.test\.localhost
RewriteRule (.*) /Test/Query
RewriteCond %{HTTP_HOST} query\.test\.localhost
RewriteHeader Host: (.*) localhost [L]

The result is that my browser is caught in a loop. I get the feeling that the header "Host" is not changed at all. The log-files shows:

127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) init rewrite engine with requested uri /Test/Query/
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) Htaccess process request C:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (3) applying pattern '(.*)' to uri '/Test/Query/'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (4) RewriteCond: input='query.test.localhost' pattern='query\.test\.localhost' => matched
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) Rewrite URL to >> /Test/Query
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) rewrite '/Test/Query/' -> '/Test/Query'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (3) applying pattern '(.*)' to uri 'query.test.localhost'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (4) RewriteCond: input='query.test.localhost' pattern='query\.test\.localhost' => matched
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) SetHeader Host: = localhost
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) rewrite 'query.test.localhost' -> 'localhost'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) internal redirect with /Test/Query [INTERNAL REDIRECT]

127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) init rewrite engine with requested uri /Test/Query/
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) Htaccess process request C:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (3) applying pattern '(.*)' to uri '/Test/Query/'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (4) RewriteCond: input='query.test.localhost' pattern='query\.test\.localhost' => matched
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) Rewrite URL to >> /Test/Query
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) rewrite '/Test/Query/' -> '/Test/Query'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (3) applying pattern '(.*)' to uri 'query.test.localhost'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (4) RewriteCond: input='query.test.localhost' pattern='query\.test\.localhost' => matched
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (1) SetHeader Host: = localhost
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) rewrite 'query.test.localhost' -> 'localhost'
127.0.0.1 127.0.0.1 Fri, 27-Apr-2012 14:24:15 GMT [query.test.localhost/sid#1][rid#11165676/initial] (2) internal redirect with /Test/Query [INTERNAL REDIRECT]
etc.
etc.
etc.

Anyone any suggestions?

User avatar
Posts: 2
Joined: 27 Apr 2012, 09:35

Re: Rewriting host-header fails

27 Apr 2012, 10:06

I found the solution myself. Well... it is more like a work arround:

RewriteCond %{HTTP_HOST} query\.test\.localhost
RewriteRule .* http://localhost/Test/Query

I was not aware of the fact the rewriting the URL could overwrite the WHOLE url, including the parts with the protocol and the domain name.

One question remains: Can I or can I not overwrite the header variable "Host"?

User avatar
Posts: 1264
Joined: 07 Mar 2012, 10:16

Re: Rewriting host-header fails

03 May 2012, 04:41

Hello,

Please, see here, at the RewriteHeader documentation.

Regards
Andrew

Return to ISAPI_Rewrite 3.0

Who is online

Users browsing this forum: No registered users and 6 guests