У меня есть сервер-разработчик, на котором я загружаю клиентские сайты, каждый сайт WordPress имеет свою собственную базу данных и каталог (каждый сайт независим). У меня есть один серверный блок. Моя проблема с симпатичными постоянными ссылками, это работает для меня:Конфигурация NGINX для автоматических хороших ссылок для нескольких сайтов wordpress в подкаталогах
server_name dev.example.tld;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location/{
try_files $uri $uri/ =404;
add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-$
expires off;
}
location /site_1/ {
index index.php;
try_files $uri $uri/ /site_1/index.php?$args;
}
location /site_2/ {
index index.php;
try_files $uri $uri/ /site_2/index.php?$args;
}
Я искал способ сделать это один раз, вместо добавления блока определения местоположения для каждого сайта, но не повез.
'site' переменная является url например ** dev.example.tld **? , когда я использовал это, показывает ошибку: – Ritterwise
Извините, вырежьте и вставьте ошибку во втором примере, это должно быть, конечно, '$ 1'. «$ Site» или '$ 1' - это первый сегмент пути URI - например, '/ site_1' или'/site_2' в вашем случае. Если вам нужно имя сервера, используйте: '$ host',' $ server_name' или '$ http_host' (которые все немного отличаются - см. [Эту ссылку для деталей] (http://nginx.org/en/docs/http /ngx_http_core_module.html#var_host)) –