# Location vs. rewite

**URL:** <https://www.ruby-forum.com/t/location-vs-rewite/227877>\
**Category:** NGINX\
**Created:** [April 1, 2013, 2:52pm UTC](https://www.ruby-forum.com/t/location-vs-rewite/227877 "2013-04-01T14:52:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![etrader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@etrader](https://www.ruby-forum.com/u/etrader)\
**Post date:** [April 1, 2013, 2:52pm UTC](https://www.ruby-forum.com/t/location-vs-rewite/227877/1 "2013-04-01T14:52:07Z")

</div>

I want to server favicon from a different place rather than the root  
folder.  
As I explored I have two options

1. 

location = /favicon.ico { alias /var/www/media/images/favicon.X.ico; }

1. 

rewrite ^/favicon.ico /var/www/media/images/favicon.X.ico last;

As I understand the second one needs an additional regex check for every  
request to check if the url is favicon or not (imagine that we have a  
rewite  
of ^/(._).(._) and thus the favicon rewite must be first).

How the location works? Does it also should be checked on every request?

In general, which solution is better ?

Posted at Nginx Forum:

> **[location vs. rewite](https://forum.nginx.org/read.php?2,238002,238002#msg-238002)**
>
> I want to server favicon from a different place rather than the root folder. As I explored I have two options 1. location = /favicon.ico { alias /var/www/media/images/favicon.X.ico; } 2. rewrite ^/favicon.ico /var/www/media/images/favicon.X.ico last;...

---

<div class="post-metadata">

**Author:** ![etrader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@etrader](https://www.ruby-forum.com/u/etrader)\
**Post date:** [April 4, 2013, 10:16am UTC](https://www.ruby-forum.com/t/location-vs-rewite/227877/2 "2013-04-04T10:16:47Z")

</div>

## Anton Y. Wrote:

> > rewrite ^/favicon.ico /var/www/media/images/favicon.X.ico last;
> 
> This is wrong - you can rewrite to other location, not to path on file  
> system.  
> Anyway rewrite does not need here, use location.

Sorry, my bad! In the second case, I meant rewrite ^/favicon.ico  
/media/images/favicon.X.ico last;

but anyway, it seems that location works better in general.

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

---

<div class="post-metadata">

**Author:** ![etrader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@etrader](https://www.ruby-forum.com/u/etrader)\
**Post date:** [April 1, 2013, 2:57pm UTC](https://www.ruby-forum.com/t/location-vs-rewite/227877/3 "2013-04-01T14:57:22Z")

</div>

On 04/01/13 16:51, etrader wrote:

> I want to server favicon from a different place rather than the root folder.  
> As I explored I have two options
> 
> 1. 
> 
> location = /favicon.ico { alias /var/www/media/images/favicon.X.ico; }

It is working option.

> 1. 
> 
> rewrite ^/favicon.ico /var/www/media/images/favicon.X.ico last;

This is wrong - you can rewrite to other location, not to path on file  
system.  
Anyway rewrite does not need here, use location.

---

<div class="post-metadata">

**Author:** ![etrader](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/b5e925/32.png) [@etrader](https://www.ruby-forum.com/u/etrader)\
**Post date:** [May 5, 2013, 9:03pm UTC](https://www.ruby-forum.com/t/location-vs-rewite/227877/4 "2013-05-05T21:03:53Z")

</div>

Yes, location is better and even faster in general.

Andrejs

Posted at Nginx Forum:

> **[Re: location vs. rewite](https://forum.nginx.org/read.php?2,238002,238866#msg-238866)**
>
> I want to server favicon from a different place rather than the root folder. As I explored I have two options 1. location = /favicon.ico { alias /var/www/media/images/favicon.X.ico; } 2. rewrite ^/favicon.ico /var/www/media/images/favicon.X.ico last;...
