# Simple URI redirection / alias in Nginx…

**URL:** <https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632>\
**Category:** NGINX\
**Created:** [May 30, 2011, 3:40pm UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632 "2011-05-30T15:40:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [May 30, 2011, 3:40pm UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/1 "2011-05-30T15:40:59Z")

</div>

Please, how can I make this simple operation:

I wish that every requests for uris like:  
[http://example.com/adm](http://example.com/adm)  
or:  
[http://example.com/adm](http://example.com/adm)  
Goes to the wordpress login page:  
wordpress/wp-login.php  
(The wordpress installation is inside the folder “wordpress”).

I’ve tried:

location /adm/ { alias wordpress/wp-login.php; }  
location /adm { alias wordpress/wp-login.php; }

and:

rewrite ^/adm$ wordpress/wp-login.php;

But with no success…

Just in case someone asks, this is my serve conf. file:

server {  
server\_name [www.example.com](http://www.example.com);  
rewrite ^ http://example.com$request\_uri? permanent;  
}

server {  
server\_name [example.com](http://example.com);

```
access_log /var/log/nginx/example.com.access;
error_log /var/log/nginx/example.com.error;

root /var/www/example.com;

index index.htm index.php;

location / {try_files $uri /wp$uri/ /wordpress/index.php$args;}

location ~ .php$ {
  try_files $uri =404;
  #fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include /etc/nginx/fastcgi_params;
}

location = /favicon.ico {log_not_found off;access_log off;}
location = /robots.txt {allow all;log_not_found off;access_log off;}
location ~ /\. {deny all;access_log off;log_not_found off; }

```

}

Posted at Nginx Forum:

> **[Simple URI redirection / alias in Nginx…](https://forum.nginx.org/read.php?2,202235,202235#msg-202235)**
>
> Please, how can I make this simple operation: I wish that every requests for uris like: http://example.com/adm or: http://example.com/adm Goes to the wordpress login page: wordpress/wp-login.php (The wordpress installation is inside the fo

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [May 30, 2011, 8:47pm UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/2 "2011-05-30T20:47:20Z")

</div>

On Mon, May 30, 2011 at 09:40:09AM -0400, atipico wrote:

> I’ve tried:  
> Just in case someone asks, this is my serve conf. file:  
> error\_log /var/log/nginx/example.com.error;  
> fastcgi\_pass 127.0.0.1:9000;  
> fastcgi\_index index.php;  
> fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;  
> include /etc/nginx/fastcgi\_params;  
> }
> 
> ```
> location = /favicon.ico {log_not_found off;access_log off;}
> location = /robots.txt {allow all;log_not_found off;access_log off;}
> location ~ /\. {deny all;access_log off;log_not_found off; }
> 
> ```
> 
> }

location = /adm/ {  
fastcgi\_pass 127.0.0.1:9000;  
fastcgi\_param SCRIPT\_FILENAME  
/var/www/example.com/wordpress/wp-login.php  
include /etc/nginx/fastcgi\_params;  
}

location = /adm {  
fastcgi\_pass 127.0.0.1:9000;  
fastcgi\_param SCRIPT\_FILENAME  
/var/www/example.com/wordpress/wp-login.php  
include /etc/nginx/fastcgi\_params;  
}

–  
Igor S.

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [May 31, 2011, 12:57am UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/3 "2011-05-31T00:57:21Z")

</div>

I have a similar issue.

Do we need separate location directives for each and every possible  
path, or can we do some “rewrite” inside location for the main / root  
folder? For example:

location = / {

# rewrite rules come here..

rewrite “^/adm$” “/wordpress/wp-login.php”;  
…  
fastcgi\_pass 127.0.0.1:9000;  
fastcgi\_param SCRIPT\_FILENAME  
/var/www/example.com/wordpress/wp-login.php  
include /etc/nginx/fastcgi\_params;

}

To me this is cleaner, but want to make sure that this is not the less  
desirable way?

Thanks.

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

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [May 31, 2011, 12:58am UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/4 "2011-05-31T00:58:35Z")

</div>

I meant this:

location / {

Not “location = / {” of course.

Thanks!

* * *

> rewrite “^/adm$” “/wordpress/wp-login.php”;  
> To me this is cleaner, but want to make sure that  
> this is not the less desirable way?
> 
> Thanks.

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

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [May 31, 2011, 4:11am UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/5 "2011-05-31T04:11:24Z")

</div>

On Mon, May 30, 2011 at 07:03:17PM -0400, atipico wrote:

> Thank you Igor.
> 
> So what is the difference among doing what you told and this?  
> rewrite ^/adm$ /wp/wp-login.php;

Configuration maintenance. If you will not use rewrites and regex  
locations,  
then you can easy change large configuration.

> Isn’t it the case of usind the “alias”?

“alias” is for static files, but not scripts.

–  
Igor S.

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [June 1, 2011, 2:20pm UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/6 "2011-06-01T14:20:36Z")

</div>

I know it is a bit far from the original topic but, I have a site with  
just one file: index.htm witch have some ajax linked to php files. I’d  
like to make thouse php files only accessable via ajax (post and get)  
coming from this index file and block access to all files but the  
index.htm. Is it possible in Nginx?

Posted at Nginx Forum:

> **[Re: Simple URI redirection / alias in Nginx…](https://forum.nginx.org/read.php?2,202235,202960#msg-202960)**
>
> Please, how can I make this simple operation: I wish that every requests for uris like: http://example.com/adm or: http://example.com/adm Goes to the wordpress login page: wordpress/wp-login.php (The wordpress installation is inside the fo

---

<div class="post-metadata">

**Author:** ![atipico](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/8e8cbc/32.png) [@atipico](https://www.ruby-forum.com/u/atipico)\
**Post date:** [May 31, 2011, 1:03am UTC](https://www.ruby-forum.com/t/simple-uri-redirection-alias-in-nginx/207632/7 "2011-05-31T01:03:31Z")

</div>

Thank you Igor.

So what is the difference among doing what you told and this?  
rewrite ^/adm$ /wp/wp-login.php;

Isn’t it the case of usind the “alias”?

Thank you onc more,  
Rogerio.

Posted at Nginx Forum:

> **[Re: Simple URI redirection / alias in Nginx…](https://forum.nginx.org/read.php?2,202235,202432#msg-202432)**
>
> Please, how can I make this simple operation: I wish that every requests for uris like: http://example.com/adm or: http://example.com/adm Goes to the wordpress login page: wordpress/wp-login.php (The wordpress installation is inside the fo
