В настоящее время я настраиваю наш новый сервер для нашей компании, и мы разрабатываем множество различных приложений, и прямо сейчас мы хотим, чтобы все наши приложения wordpress располагались под wp.domain.com/app1, wp.domain.com/app2 и т. Д. .
Причина, по которой значение по умолчанию не работает, заключается в том, что мы хотим использовать постоянную ссылку% postname% для всех приложений.
В настоящее время я переписываю каждую подпапку, но я бы предпочел переписать каждую подпапку одним location
block, поэтому мне не нужно редактировать серверный блок каждый раз, когда мы загружаем новое приложение на наш сервер.
Также существует возможность загрузки в подкаталог, например wp.domain.com/appgroup1/app3, wp.domain.com/appgroup1/app6 и т. Д.
Вот моя конфигурация wp.domain.com:
server {
listen 80;
root /usr/share/nginx/html/wp;
index index.php index.html index.htm;
server_name wp.domain.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ /(.*)/ {
index index.php;
try_files $uri $uri/ /$1/index.php?$args;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
location ~ /\.ht {
deny all;
}
}
Обратите внимание, что у нас нет настройки для нескольких сайтов.
Пришло время использовать блоки расположения регулярных выражений:
location ~ /(app1|app2|app3|groupapp1(?:/(subapp1|subapp2|subapp3)))/ {
try_files $uri $uri/ /$1/index.php$is_args$args;
[ ... ]
}
Насколько я понимаю, вы можете просто оставить index.php во всем блоке сервера {} и удалить все / app / location. В index.php ничего переписывать не нужно.