2

随着 Synology DSM6 的更新,我们现在必须使用 Nginx 而不是 Apache。默认情况下 Nginx 配置不允许 wordpress 永久链接(生成 404)。

我读到的想法是在 /?p=$uri 中转换 /uri 并将此配置放在服务器 nginx 配置的“位置”部分。

在 DSM6 中究竟把这个配置放在哪里?

4

2 回答 2

1

您是否尝试过用户配置?只需复制您的工作:

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

至:

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

并重命名server.webstation-vhost.conftoserver.webstation-vhost.conf.old或其他东西并重新启动 nginx ( nginx -s reload)

或者更好的是,从 webstation 中删除您的虚拟主机。唯一的事情是您需要在 SSL 证书到期时手动更新它们,而不是使用 Web 界面。

于 2017-01-09T21:27:35.047 回答
1

实际上,您可以轻松添加自定义指令,而无需修改 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 更新(因为它是受支持的自定义)

于 2017-06-22T15:38:35.820 回答