Welcome! Log In Create A New Profile

Advanced

Re: Serving wordpress from subdomain

Alan Chandler
May 16, 2014 01:12AM
On 16/05/14 03:38, adambenayoun wrote:
> My setup is nginx + php-fpm. I am running a web application on domain.com
> and I am serving a wordpress configuration from domain.com/blog.
>
> The problem is that the web app is served from /var/www/domain/html/http and
> wordpress is located outside of the root directory:
> /var/www/domain/html/blog
> ...
I have been wrestling with a similar problem - except mine is worse, in
that the applications running in a separate physical directory were php
applications which required $_SERVER['DOCUMENT_ROOT'] to point to the
actual physical directory for the real document root. I


> location /blog {
> root /var/www/domain/html;
> try_files $uri $uri/ /blog/index.php?q=$1;
> }
> location ~ \.php(/|$) {
> try_files $uri =404;
> include /etc/nginx/fastcgi_params;
> fastcgi_split_path_info ^(.+\.php)(.*)$;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> fastcgi_param PATH_INFO $fastcgi_script_name;
> fastcgi_param SERVER_NAME $http_host;
> fastcgi_pass 127.0.0.1:9000;

The problem here is that as nginx redirects to the second location block
when it can't find the file with try_files and goes to /blog/index.php,
it changes root back to the default

The way I solved the problem is

location = /blog {
rewrite ^ /blog/ permanent;
}

location /blog/ {
alias /home/alan/dev/blog/web/;
index index.php;
}

location ~ ^/blog/(.*\.php)$ {
alias /home/alan/dev/blog/web/$1;
include php-apps.conf;
}

and the include file (used becaise I have several similar apps in this
area and each one is treated the same)

include fastcgi_params;
fastcgi_param DOCUMENT_ROOT /home/alan/dev/test-base;
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php5-fpm-alan.sock;


There is a problem - which I don't really understand - that try_files
does not work with alias. so I am not using it in my sub location blocks

I do have

location / {
try_files $uri $uri/ =404;
}

and with the whole thing in place I do get 404s when somebody attempts
to access a non existent page. I think in your situation, your location
path equals the final elements of the physical filesystem path, so you
could use root instead of alias and then include the try_files bits you
have.


--
Alan Chandler
http://www.chandlerfamily.org.uk

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Serving wordpress from subdomain

adambenayoun May 15, 2014 10:38PM

Re: Serving wordpress from subdomain

Alan Chandler May 16, 2014 01:12AM

Re: Serving wordpress from subdomain

Francis Daly May 18, 2014 04:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 277
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready