新版本Nginx導致Wordpress,Drupal等框架無限重定向解決方案

來源:互聯網
上載者:User
關鍵字 wordpress nginx Drupal 無限重定向

伺服器配置是前端用Nginx,後端用HTTP://www.aliyun.com/zixun/aggregation/14417.html">Apache解析PHP。

從老版本的Nginx升級到新版本(>1.0)以後,發現Wordpress建立的網站都出現無限迴圈重定向問題。 Google搜索,發現很多人遇到這個問題,並不是單純Wordpress,Drupal, PHPCake等框架也都遇到同樣的問題。
wordpress的解決方案是 安裝禁止重定向的外掛程式就可以了,但是缺陷是,這樣會不利於SEO。 並且這個解決方案不是對各個框架的通用解決方案,如果不搞清楚問題的原因,其他網站遇到同樣的問題怎麼辦? 可惜經過搜索,遇到這個問題的討論都沒有揭露最終的原因。 還是決定自己跟蹤Wordpress的原始程式碼,看看問題究竟出在哪裡。 為什麼老版本的Nginx沒有問題,新版本的就出現了這個問題?

跟蹤wp-includes/canonical.php的代碼,會發現,當使用新版本Nginx的時候,訪問網站主頁HTTP://www.ithov.com/的時候,在Apache這端收到的請求是 HTTP:// www.ithov.com/index.php。 而當使用老版本Nginx的時候,Apache端收到的請求是 HTTP://www.ithov.com/。 也就是說,新版本的Nginx在收到 HTTP://www.ithov.com/請求以後,發送給後臺的Apache之前,在後面自動追加了 index.php,導致與原來的請求URL不同,所以造成很多web框架重定向。

解決方案是:
在配置Nginx伺服器的時候,注意單獨配置location = / 這一項。

server {
listen 80;
server_name ithov.com, www.ithov.com;

//!!! 注意這裡,重點配置這裡的代理規則
location = / {
proxy_pass HTTP://127.0.0.1:81/; // !!! 這一這裡,最後面有個/不能省略
include /etc/nginx/proxy.conf;
}

location ~ \.php$ {
proxy_pass HTTP://127.0.0.1:81; //!!! 這裡,最後面沒有/
include /etc/nginx/proxy.conf;
}

.....

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.