2016-08-30 132 views
0

我對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'); 

回答

0

您應該使用^~修改的location /blog塊上,以防止在同級別的正則表達式所在地塊衝突。詳情請見this document

location ^~ /blog { 
    proxy_pass http://127.0.0.1:8181; 
    ... 
} 

另外,你應該從proxy_pass指令刪除URL元素,因爲它看起來像你映射/blog/blog反正。

proxy_redirect聲明是回到前面。但是你可能不需要它,因爲你已經設置了WP_HOME/WP_SITEURL。

+0

感謝Richard的回覆。這已經停止了我的博客URL重定向到博客。 但我的主要問題仍然存在。 wordpress css和js仍然顯示404。一些我仍然需要在塊位置〜*。(?:ico | css | js | gif | jpe?g | png | woff)$上做些什麼。如果我刪除這個塊,那麼css和js會加載wordpress。但不是用這個塊。 –

+0

配置文件中的其他地方一定存在問題,因爲'location〜*'無法覆蓋'location ^〜' - 請參閱我在答案中引用的文檔。 –