# Rewrite rules for "random" subfolders

**URL:** <https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002>\
**Category:** NGINX\
**Created:** [August 14, 2015, 12:23pm UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002 "2015-08-14T12:23:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadaf\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/858c86/32.png) [@Sadaf\_N](https://www.ruby-forum.com/u/Sadaf_N)\
**Post date:** [August 14, 2015, 12:23pm UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002/1 "2015-08-14T12:23:01Z")

</div>

Hey,

I would like to migrate my page from a webhoster to my own vServer  
running  
Nginx. So far I got everything up and running EXCEPT these stupid  
.htaccess  
file. Let me explain:

My site contains several galleries with slideshows. When you are  
watching  
one of those you click a link which looks like this

“DOMAIN/galleries/album-set/album-2/DSC01154-single.php”

(only DOMAIN/galleries and -single.php) are fixed. The rest can vary.  
Those  
links are generated by Lightroom and a plugin and during this process a  
.htaccess file will be copied into each folder. The content looks like  
this:

RewriteEngine On RewriteRule ^(.\*)-single.\*php$ single.php?id=$1 [L]

This makes my link  
DOMAIN/galleries/album-set/album-2/DSC01154-single.php  
point to this  
DOMAIN/galleries/album-set/album-2/single.php?id=DSC01154

as you can see, the “DSC01154” will be passed through. I am trying for  
several days to create a rewrite rule for Nginx doing the same without  
killing my page.

Does anyone knows a solution for this?

Posted at Nginx Forum:

> **[Rewrite rules for "random" subfolders](https://forum.nginx.org/read.php?2,261008,261008#msg-261008)**
>
> Hey, I would like to migrate my page from a webhoster to my own vServer running Nginx. So far I got everything up and running EXCEPT these stupid .htaccess file. Let me explain: My site contains several galleries with slideshows. When you are...

---

<div class="post-metadata">

**Author:** ![Muffel2k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Muffel2k](https://www.ruby-forum.com/u/Muffel2k)\
**Post date:** [August 14, 2015, 7:22pm UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002/2 "2015-08-14T19:22:31Z")

</div>

Hi,

Does this work?  
rewrite ^(._)/(._)-single.php $1/single. php?id=$2 last;

Not tested, so anything could happen.

---

<div class="post-metadata">

**Author:** ![Muffel2k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Muffel2k](https://www.ruby-forum.com/u/Muffel2k)\
**Post date:** [August 14, 2015, 8:33pm UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002/3 "2015-08-14T20:33:48Z")

</div>

Unfortunately not -.- here is a small summary of my vhost

server {

```
    location / {
            index index.php index.html index.htm;
            try_files $uri $uri/ @rewrites;
            rewrite ^(.*)/(.*)-single\.php $1/single.php?id=$2 last;
    }

    location @rewrites {
            rewrite ^ /index.php last;
    }

```

}

I emptied my cache and restarted nginx as well … no success

## ryd994 Wrote:

> > “DOMAIN/galleries/album-set/album-2/DSC01154-single.php”  
> > RewriteEngine On  
> > several days to create a rewrite rule for Nginx doing the same  
> > [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> > [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)
> 
> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

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

---

<div class="post-metadata">

**Author:** ![Muffel2k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Muffel2k](https://www.ruby-forum.com/u/Muffel2k)\
**Post date:** [August 15, 2015, 9:45am UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002/4 "2015-08-15T09:45:57Z")

</div>

Try the below one in the server context …outside all location blocks.  
You  
can enable dedug log and do rewrite\_log on; to see if its matching etc.  
Good Luck!

rewrite ^/galleries/album-set/album-2/(.\*)-single.php  
/galleries/album-set/album-2/single.php?id=$1 last;

---

<div class="post-metadata">

**Author:** ![Muffel2k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Muffel2k](https://www.ruby-forum.com/u/Muffel2k)\
**Post date:** [August 15, 2015, 7:46pm UTC](https://www.ruby-forum.com/t/rewrite-rules-for-random-subfolders/243002/5 "2015-08-15T19:46:28Z")

</div>

Great! It is working now, thank you very much 🙂

Posted at Nginx Forum:

> **[Re: Rewrite rules for "random" subfolders](https://forum.nginx.org/read.php?2,261008,261031#msg-261031)**
>
> Hey, I would like to migrate my page from a webhoster to my own vServer running Nginx. So far I got everything up and running EXCEPT these stupid .htaccess file. Let me explain: My site contains several galleries with slideshows. When you are...
