DSM6: настройка постоянных ссылок Nginx для Wordpress (избегайте 404)

С обновлением Synology DSM6 мы теперь должны использовать Nginx вместо Apache. По умолчанию конфигурация Nginx не допускает постоянных ссылок WordPress (генерировать 404).

Я прочитал, что идея была в том, чтобы преобразовать /uri в /? P =$uri и поместить эту конфигурацию в раздел "location" конфигурации сервера nginx.

Где именно разместить эту конфигурацию в DSM6?

2 ответа

Вы пробовали пользовательский конфиг? Просто скопируйте свою работу:

/etc/nginx/app.d/server.webstation-vhost.conf

чтобы:

/usr/local/etc/nginx/sites-enabled/httpd-vhost.conf-user

и переименовать server.webstation-vhost.conf в server.webstation-vhost.conf.old или что-то и перезапустите nginx (nginx -s reload)

Или еще лучше, удалите ваш виртуальный хост (ы) с веб-станции. Единственное, что вам нужно вручную обновить сертификаты SSL, когда они истекают, вместо использования веб-интерфейса.

На самом деле, вы можете легко добавлять пользовательские директивы, не изменяя поведение DSM.

Посмотрите на содержание /usr/local/etc/nginx/sites-enabled/httpd-vhost.conf-user, чтобы увидеть, где должна храниться пользовательская конфигурация:

server {
    [...]
    server_name NAME
    [...]

    include /usr/local/etc/nginx/conf.d/778943ad-0dc4-40ae-bb7f-7b2285e3203b/user.conf*;
}

Затем вам просто нужно создать файл /usr/local/etc/nginx/conf.d/778943ad-0dc4-40ae-bb7f-7b2285e3203b/user.conf.wordpress-permalink со следующим содержанием:

location /{
try_files $uri $uri/ /index.php?$args;
}

и перезапустите nginx:

synoservicecfg --restart nginx

Это не нарушит будущее обновление DSM (так как это поддерживаемая настройка)

Другие вопросы по тегам