Rewrite foo.com. to foo.com

Ezra Zygmuntowicz ezmobius at gmail.com
Fri Nov 9 02:56:37 MSK 2007


Hi~

On Nov 7, 2007, at 11:15 PM, Igor Sysoev wrote:

> On Wed, Nov 07, 2007 at 03:06:16PM -0800, Ezra Zygmuntowicz wrote:
>
>> 	I'm trying to sort out a problem a client is having with a googlemap
>> api key. I need to rewrite any requests that end in a . to the same
>> request with no .
>>
>> example:
>>
>> incoming request to   foo.bar.com.  needs to be rewritten to
>> foo.bar.com  with no trailing dot , but retaining any uri so
>>
>> foo.bar.com./qux  ->  foo.bar.com/qux
>>
>> Any ideas on how to accomplish this? I tried something like this:
>>
>> if ( $host ~* (.*?\.?foo\.com)\.)$ {
>>   set $domainwithoutdot $1;
>>    rewrite ^(.*)$ http://$domainwithoutdot$1 permanent;
>> }
>>
>> Help?
>
> As it was already said, you should use $http_host, because $host
> is the cooked header with stripped possible dot.


	Thanks everyone. here is the final working version for posterity:

if ( $http_host ~* (.*?\.?foo\.com)\.) {
    set $domainwithoutdot $1;
     rewrite ^(.*)$ http://$domainwithoutdot$1 permanent;
}

Cheers-
-Ezra





More information about the nginx mailing list