Rewriting host-header fails
3 posts
• Page 1 of 1
Rewriting host-header fails
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?
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?
Re: Rewriting host-header fails
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"?
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"?
3 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 0 guests