我对nginx和wordpress都很陌生。 我配置了我的项目,通过nginx服务器来提供服务。现在我们需要将wordpress博客支持添加到我们的项目中。 我的nginx运行在80端口上。而且Apache运行在8181以上,我的wordpress被安装。通过nginx重定向到WordPress博客
现在,任何通过我的nginx服务器转到博客的url将通过8181重定向到apache。
下面是我的nginx重定向的博客URL。
location /blog {
proxy_pass http://127.0.0.1:8181/blog/;
proxy_redirect https://192.168.1.54 http://127.0.0.1:8181/blog;
proxy_read_timeout 3500;
proxy_connect_timeout 3250;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header SSL_PROTOCOL $ssl_protocol;
proxy_set_header SSL_CLIENT_CERT $ssl_client_cert;
proxy_set_header SSL_CLIENT_VERIFY $ssl_client_verify;
proxy_set_header SSL_SERVER_S_DN $ssl_client_s_dn;
}
对于Google的网页速度洞察,我做了下面的配置。
location ~* \.(?:ico|css|js|gif|jpe?g|png|woff)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
现在,我在这里面临的问题是,当一些CSS或JS请求来自WordPress的例如。 http://192.168.1.54/blog/wp-content/themes/twentysixteen/style.css?ver=4.6被捕获到为css编写的位置配置里。 位置〜*。(?: ico | css | js | gif | jpe?g | png | woff)$因此wordpress无法获得css或js。
所以,我需要你的帮助,任何URL请求博客在nginx上应该被重定向到8181端口上的Apache服务器。包括js和css。 其他与资源相关的网址如https://192.168.1.54/js/somejs.js也应该可以工作。
我没有在WordPress的文件的wp-config.php的一些配置的变化
define('WP_HOME', 'https://192.168.1.54/blog');
define('WP_SITEURL', 'https://192.168.1.54/blog');
感谢Richard的回复。这已经停止了我的博客URL重定向到博客。 但我的主要问题仍然存在。 wordpress css和js仍然显示404。一些我仍然需要在块位置〜*。(?:ico | css | js | gif | jpe?g | png | woff)$上做些什么。如果我删除这个块,那么css和js会加载wordpress。但不是用这个块。 –
配置文件中的其他地方一定存在问题,因为'location〜*'无法覆盖'location ^〜' - 请参阅我在答案中引用的文档。 –