# Wordpress in a subfolder

**URL:** <https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382>\
**Category:** NGINX\
**Created:** [January 4, 2013, 2:17pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382 "2013-01-04T14:17:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [January 4, 2013, 2:17pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/1 "2013-01-04T14:17:00Z")

</div>

Hi,

I have a setup where there are 2 installations of wordpress .One under /  
and one under /wordpress . The configs are as below

##############################  
location / {

try\_files $uri $uri/ /index.php?q=$uri&$args;

}

location /wordpress {

try\_files $uri $uri/ /wordpress/index.php?q=$uri&$args;

}

location ~ .php$ {  
try\_files $uri =404;  
fastcgi\_pass unix:/opt/pifpm/fpmsockets/picdn.sock;  
fastcgi\_index index.php;  
include fastcgi\_params;  
}

######################

The problem is that URL’s like [http://picdn.com/2013/01/hello-world/](http://picdn.com/2013/01/hello-world/)  
work ;  
but not [http://picdn.com/wordpress/2013/01/04/hello-world/](http://picdn.com/wordpress/2013/01/04/hello-world/)

The second URL simply redirects to [http://picdn.com/2013/01/hello-world/](http://picdn.com/2013/01/hello-world/)

# Here is what the nginx log show

# 122.164.61.17 - - [04/Jan/2013:08:14:22 -0500] “GET /wordpress/2013/01/04/hello-world/ HTTP/1.1” 301 5 " [http://picdn.com/wordpress/](http://picdn.com/wordpress/)" “Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11” 122.164.61.17 - - [04/Jan/2013:08:14:22 -0500] “GET /2013/01/hello-world/ HTTP/1.1” 200 3764 “[http://picdn.com/wordpress/](http://picdn.com/wordpress/)” “Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11”

Any idea why this might be happening?

Thanks in advance,

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 2:26pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/2 "2013-01-04T14:26:56Z")

</div>

On Fri, Jan 4, 2013 at 8:16 PM, Anoop A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> ```
> fastcgi_pass unix:/opt/pifpm/fpmsockets/picdn.sock;
> fastcgi_index index.php;
> include fastcgi_params;
> }
> 
> ```

I think you forgot this line

fastcgi\_param SCRIPT\_FILENAME $request\_filename;

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 2:30pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/3 "2013-01-04T14:30:27Z")

</div>

On Fri, Jan 4, 2013 at 6:55 PM, Edho A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > location / {
> 
> fastcgi\_param SCRIPT\_FILENAME $request\_filename;
> 
> * * *
> 
> 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)

In my fastcgi\_params include file I have

==========  
fastcgi\_param SCRIPT\_NAME $fastcgi\_script\_name;  
fastcgi\_param REQUEST\_URI $request\_uri;

fastcgi\_param DOCUMENT\_ROOT $document\_root;

# fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;

Will this not work?

Thanks

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 2:36pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/4 "2013-01-04T14:36:17Z")

</div>

On Fri, Jan 4, 2013 at 8:29 PM, Anoop A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> fastcgi\_param DOCUMENT\_ROOT $document\_root;
> 
> # fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;
> 
> Will this not work?

My last test few years ago showed $request\_filename worked much  
better. May or may not matter now, though. Still worth a try, I’d say.

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 2:51pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/5 "2013-01-04T14:51:29Z")

</div>

On Fri, Jan 4, 2013 at 8:43 PM, Anoop A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> 

my wild guess says the $fastcgi\_script\_name doesn’t get passed  
correctly (or in unexpected way, e.g. blank) when using try\_files  
causing it to use default /index.php.

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 3:13pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/6 "2013-01-04T15:13:07Z")

</div>

On Fri, Jan 4, 2013 at 7:20 PM, Edho A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> #fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;
> 
> > fastcgi\_param SCRIPT\_FILENAME $request\_filename;

Actually i guess it was a caching issue with my browser when i was using  
a  
different try\_files line

fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;  
fastcgi\_param SCRIPT\_FILENAME $request\_filename;

Both works now ..

Thanks,

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 2:44pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/7 "2013-01-04T14:44:28Z")

</div>

On Fri, Jan 4, 2013 at 7:05 PM, Edho A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My last test few years ago showed $request\_filename worked much  
> better. May or may not matter now, though. Still worth a try, I’d say.
> 
> * * *
> 
> 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)

Edho ..that worked .Thanks

But curious to know whats the difference between

# ===== #fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name; fastcgi\_param SCRIPT\_FILENAME $request\_filename;

If I had set a

root /home/picdn/public\_html/wordpress;

inside the location /wordpress ..it would have worked ?.

Whats the best route to take here as I see many docs doing it  
differently .

Thanks,

---

<div class="post-metadata">

**Author:** ![Anoop\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Anoop\_A](https://www.ruby-forum.com/u/Anoop_A)\
**Post date:** [January 4, 2013, 3:15pm UTC](https://www.ruby-forum.com/t/wordpress-in-a-subfolder/225382/8 "2013-01-04T15:15:27Z")

</div>

On Fri, Jan 4, 2013 at 9:12 PM, Anoop A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;  
> fastcgi\_param SCRIPT\_FILENAME $request\_filename;
> 
> Both works now ..

Yeah, I don’t see difference with either setting. Though I’d say you  
forgot to actually reload the config after adding the subdirectory  
config since I also got redirect on the subdirectory url.
