这件事我已经坚持了好几天了。主题定制器没有应用任何更改,问题似乎与我在在线论坛上看到的一切都不同(幸运的我)。
页面自定义。php加载良好,不会引发任何错误,预览面板显示正确。我已经使用浏览器的开发工具检查了Ajax调用的响应。我已经将Apache日志设置为调试级别,还激活了Wordpress级别的日志,并增加了PHP级别的日志,但日志中没有任何错误消息。以及定制发送的Ajax请求。php都得到了成功的响应。
但是,当尝试编辑任何主题(包括默认主题和下载主题)时,预览面板已正确加载,并且预览面板显示褪色的动画,指示正在刷新预览面板以在键入修改时显示更改,但预览面板上实际未显示任何更改。即使单击“保存/发布”按钮,也不会应用更改。live网站上也没有应用任何更改。刷新页面时,在左侧编辑器中输入的所有修改都将丢失。
但是,可以从管理面板的其他部分毫无问题地创建文章和内容。设置可以更改,主题和插件可以安装,各种写入操作都可以顺利完成。
我已经检查了wordpress网站的URL是否与wordpress设置中wordpress目录的URL相同,如论坛中所建议的那样。我试图在主题之间来回切换,希望这个问题能像论坛上建议的那样神奇地消失。我还尝试禁用所有插件,甚至从头开始重新安装wordpress。但问题仍然存在,最令人沮丧的是,任何地方都不会抛出错误,它只是默默地失败,所以我在这里尝试猜测。
我已经检查了文件系统权限,但所有文件和文件夹都由正确的apache用户拥有。我认为可能请求被过滤器悄悄地“清理”,但管道中的任何地方都没有安装mod\\u security。
我们的设置如下,尽管我认为这与此无关:我们有一个前端apache服务器作为另一个apache实例的反向代理,该apache实例在另一个未直接暴露于internet的虚拟机上运行wordpress(出于各种安全策略原因)。我将在一分钟后发布HTTPD配置文件。
在前端Apache上(即,反向代理,它是SSL终止点。只是在上下文中提到它,因为我不确定要看哪里,但SSL有什么问题,所以通常这应该是无关的)
<VirtualHost *:443>
ServerName mywebsite.com
ServerAlias www.mywebsite.com
ProxyPass "/" "http://192.168.185.12:80/"
ProxyPassReverse "/" "http://192.168.185.12:80/"
ProxyPreserveHost On
CustomLog /var/log/mywebsite.com-access.log combined
ErrorLog /var/log/mywebsite.com-error.log
SSLCertificateFile /path/to/certicate
SSLCertificateKeyFile /path/to/private/key
</VirtualHost>
<VirtualHost *:80>
ServerName mywebsite.com
ServerAlias www.mywebsite.com
Redirect / https://mywebsite.com/
</VirtualHost>
在Wordpress的Apache实例上(即后端)
<FilesMatch "\\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<VirtualHost *:80>
ServerName mywebsite.com
ServerAlias www.mywebsite.com
DocumentRoot /usr/local/www/wordpress
SetEnv HTTPS On
LogLevel debug
</VirtualHost>
<Directory /usr/local/www/wordpress>
AllowOverride All
Options -Indexes +FollowSymLinks
Order Allow,Deny
Allow from all
# For Apache 2.4 add:
Require all granted
</Directory>
<Location / >
ExpiresActive On
ExpiresDefault "now"
</Location>
任何线索、指针或想法都将不胜感激。
谢谢