Я пытаюсь настроить веб-сайт в качестве вспомогательного местоположения другого веб-сайта. Для большего контекста у меня есть wp1 и wp2, оба сайта wordpress, а wp2 должен быть дополнительным местоположением wp1, например http://wp1.com/wp2 но я не могу найти способ сделать это, я прочитал доступную документацию, но все еще не могу понять, почему это на самом деле не работает.
Мой файл конфигурации nginx:
server {
listen 80;
listen [::]:80 ;
server_name 1.2.3.4; #(IP)
root /var/www/html/wp1;
index index.php;
client_max_body_size 200M;
satisfy any;
allow 1.2.3.4;
deny all;
auth_basic "Restricted"; #For Basic Auth
auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth
location /wp2 {
root /var/www/html/wp2;
index index.php;
try_files $uri $uri/ /index.php?$args;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Похоже, твой location
и root
утверждения неверны.
В location ~ \.php$
блок в server
контекст будет иметь приоритет над location /wp2
блок. Использовать ^~
модификатор. Видеть этот документ для подробностей.
Я предполагаю, что ваши файлы находятся в /var/www/html/wp2/index.php
, и нет /var/www/html/wp2/wp2/index.php
. Видеть этот документ для подробностей.
Например:
location ^~ /wp2 {
root /var/www/html;
...
}