I would like to have 2 php sub directories under one website mysite.example.com
using Nginx. These 2 php directories are using the same domain name mysite.example.com
but different locations in the file system.
site1: mysite.example.com/wordpress (/var/www/wordpress)
site2: mysite.example.com/new_site (var/www/new__php_site)
my below configuration works for the wordpress site with mysite.example.com
but how to make mysite.example.com/wordpress
work?
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name mysite.example.com;
## Your only path reference.
root /var/www/wordpress;
## This should be in your http block and if it is, it's not needed here.
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass php;
}
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
Also how to make mysite.example.com/new-site
work? The below rewrite works for multiple wordpress sites but how about multiple general php sites?
# Rewrite rules for WordPress Multi-site.
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
rewrite ^/[_0-9a-zA-Z-]+(/.*.php)$ $1 last;
}