
La raíz (http://www.ejemplo.com/) apuntará a /var/www/wordpress
¿Cómo puedo permitir que cada uno sea visible en el navegador?
working -- http://www.example.com
error -- http://www.example.com/wordpress2
error -- http://www.example.com/htmlsite
Aquí está la estructura:
first wordpress: /var/www/wordpress
second wordpress: /var/www/wordpress2
static html page: /var/www/htmlsite
server {
root /var/www/wordpress;
index index.php;
...
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location /wordpress2 {
root /var/www/wordpress2;
try_files $uri $uri/ /index.php$is_args$args;
}
location /htmlsite {
root /var/www/htmlsite;
try_files $uri $uri/ =404;
}
}
Si hago esto root /var/www;
en su lugar, entonces /wordpress2 y /wordpress3 funcionan:
server {
root /var/www;
index index.php;
...
location / {
try_files $uri $uri/ =404;
}
location /wordpress2 {
try_files $uri $uri/ /wordpress2/index.php$is_args$args;
}
location /wordpress3 {
try_files $uri $uri/ /wordpress3/index.php$is_args$args;
}
location /htmlsite {
root /var/www/htmlsite;
try_files $uri $uri/ =404;
}
}
Respuesta1
Esto debería funcionar de la manera que usted desee.
Dado que el URI se agrega al directorio especificado en la root
directiva, debemos especificarlo solo una vez. Sólo se deben especificar `try_files´ para cada ubicación por separado.
server {
root /var/www/wordpress;
index index.php;
...
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location /wordpress2 {
root /var/www;
try_files $uri $uri/ /wordpress2/index.php$is_args$args;
}
location /htmlsite {
root /var/www;
try_files $uri $uri/ =404;
}
}
Respuesta2
Supongo que tienes tres instancias de Wordpress en tres dominios. En ese caso, deberá definir servidores para cada sitio web e instalación de Wordpress.
Si desea varias instalaciones de Wordpress en un dominio, entonces su enfoque es generalmente correcto, pero necesita definir la transferencia a PHP. Tengo un buentutorial sobre eso, pero en realidad puedes buscar en Google "tutorial de Nginx Wordpress" y encontrar 100 tutoriales.
Le sugerimos que comience haciendo que uno funcione y luego agregue otros.
Respuesta3
Esto es todo lo que necesita.
server {
listen 80;
root /var/www/wordpress;
server_name example.com www.example.com;
index index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~* \.(css|gif|ico|jpeg|jpg|js|png|woff|woff2|ttf|ttc|otf|eot)$ {
expires max;
log_not_found off;
}
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
location /wordpress2 {
root /var/www/wordpress/wordpress2;
index index.php;
try_files $uri $uri/ =404;
location ~ /wordpress2 /(.+\.php)$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
location /htmlsite {
root /var/www/wordpress/htmlsite;
index index.php;
try_files $uri $uri/ =404;
location ~ /htmlsite /(.+\.php)$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
}