# URI rewrite with port number

**URL:** <https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688>\
**Category:** NGINX\
**Created:** [December 19, 2010, 10:12pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688 "2010-12-19T22:12:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/77aa72/32.png) [@Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/u/Dobai-Pataky_BSSSSl)\
**Post date:** [December 19, 2010, 10:12pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/1 "2010-12-19T22:12:09Z")

</div>

Hi,

I’m trying to rewrite ‘[www.somedomain.com:8080](http://www.somedomain.com:8080)’ to ‘[somedomain.com:8080](http://somedomain.com:8080)’  
but when I use the below, it doesn’t work. Any ideas? 🙂

if ($host != “[somedomain.com:8080](http://somedomain.com:8080)” ) {  
rewrite ^/(.\*)$ “[http://somedomain.com:8080/$1](http://somedomain.com:8080/$1)” permanent;  
}

Posted at Nginx Forum:

> **[URI rewrite with port number](https://forum.nginx.org/read.php?2,159859,159859#msg-159859)**
>
> Hi, I'm trying to rewrite 'www.somedomain.com:8080' to 'somedomain.com:8080' but when I use the below, it doesn't work. Any ideas? :) if ($host != "somedomain.com:8080" ) { rewrite ^/(.\*)$ "http://somedomain.com:8080/$1"...

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 19, 2010, 10:19pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/2 "2010-12-19T22:19:41Z")

</div>

Hello!

On Sun, Dec 19, 2010 at 04:10:42PM -0500, microchip wrote:

> Hi,
> 
> I’m trying to rewrite ‘www.somedomain.com:8080’ to ‘somedomain.com:8080’  
> but when I use the below, it doesn’t work. Any ideas? 🙂
> 
> if ($host != “somedomain.com:8080” ) {  
> rewrite ^/(.\*)$ “[http://somedomain.com:8080/$1](http://somedomain.com:8080/$1)” permanent;  
> }

server {  
listen 8080 default;  
server\_name \_;  
rewrite ^ http://somedomain.com:8080$request\_uri? permanent;  
}

server {  
listen 8080;  
server\_name [somedomain.com](http://somedomain.com);  
…  
}

See here for more details:

> **[How nginx processes a request](http://nginx.org/en/docs/http/request_processing.html)**

Maxim D.

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 19, 2010, 10:44pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/3 "2010-12-19T22:44:46Z")

</div>

Oh, I see 🙂 Thanks, will give it a try. Also bookmarked the site.

Posted at Nginx Forum:

> **[Re: URI rewrite with port number](https://forum.nginx.org/read.php?2,159859,159868#msg-159868)**
>
> Hi, I'm trying to rewrite 'www.somedomain.com:8080' to 'somedomain.com:8080' but when I use the below, it doesn't work. Any ideas? :) if ($host != "somedomain.com:8080" ) { rewrite ^/(.\*)$ "http://somedomain.com:8080/$1"...

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 22, 2010, 6:45pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/4 "2010-12-22T18:45:38Z")

</div>

hmm, it does not seem to work here. This is what I have so far, but when  
I add www at the beginning of the hostname, it can’t find it. I should  
note that I’m using a hostname from DynDNS but I doubt that’s an issue  
since I have used lighttpd in the past and it successfully rewrites

server {  
listen \*:8080 default\_server;  
server\_name \_;  
return 444;  
}

```
server {
    server_name xxx.xxx.xxx;
    listen *:8080 rcvbuf=64k backlog=128;
    limit_conn gulag 5;
    charset utf-8;
    access_log /var/log/nginx/xxx.access.log;
    root /srv/www/htdocs/xxx.xxx.xxx;
    location / {
        index index.php;
    }

```

Posted at Nginx Forum:

> **[Re: URI rewrite with port number](https://forum.nginx.org/read.php?2,159859,160481#msg-160481)**
>
> Hi, I'm trying to rewrite 'www.somedomain.com:8080' to 'somedomain.com:8080' but when I use the below, it doesn't work. Any ideas? :) if ($host != "somedomain.com:8080" ) { rewrite ^/(.\*)$ "http://somedomain.com:8080/$1"...

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 22, 2010, 6:46pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/5 "2010-12-22T18:46:15Z")

</div>

oops, forgot the add the rewrite ^  
http://somedomain.com:8080$request\_uri? permanent; in first server, but  
it doesn’t work

Posted at Nginx Forum:

> **[Re: URI rewrite with port number](https://forum.nginx.org/read.php?2,159859,160482#msg-160482)**
>
> Hi, I'm trying to rewrite 'www.somedomain.com:8080' to 'somedomain.com:8080' but when I use the below, it doesn't work. Any ideas? :) if ($host != "somedomain.com:8080" ) { rewrite ^/(.\*)$ "http://somedomain.com:8080/$1"...

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 22, 2010, 7:21pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/6 "2010-12-22T19:21:21Z")

</div>

## Maxim D. Wrote:

> It won’t as long as you still have “return 444;”  
> before it.
> 
> Maxim D.
> 
> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://nginx.org/mailman/listinfo/nginx)

yes, yes, I did a wrong paste of an older config, but even with the  
below one, it still doesn’t work for me, which has my head scratching

server {  
listen \*:8080 default\_server;  
server\_name \_;  
rewrite ^ http://xxx.xxx.xxx:8080$request\_uri? permanent;  
}

server {  
server\_name xxx.xxx.xxx;  
listen \*:8080 rcvbuf=64k backlog=128;  
limit\_conn gulag 5;  
charset utf-8;  
access\_log /var/log/nginx/xxx.access.log;  
root /srv/www/htdocs/xxx.xxx.xxx;  
location / {  
index index.php;  
}

Posted at Nginx Forum:  
[http://forum.nginx.org/read.php?2,159859,160497#msg-160497](http://forum.nginx.org/read.php?2,159859,160497#msg-160497)

---

<div class="post-metadata">

**Author:** ![microchip](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@microchip](https://www.ruby-forum.com/u/microchip)\
**Post date:** [December 22, 2010, 7:08pm UTC](https://www.ruby-forum.com/t/uri-rewrite-with-port-number/200688/7 "2010-12-22T19:08:50Z")

</div>

Hello!

On Wed, Dec 22, 2010 at 12:44:48PM -0500, microchip wrote:

> oops, forgot the add the rewrite ^  
> http://somedomain.com:8080$request\_uri? permanent; in first server, but  
> it doesn’t work

It won’t as long as you still have “return 444;” before it.

Maxim D.
