2013-02-08 75 views
0

我繼承的項目將所有鏈接硬編碼爲「https」,我的開發環境無法識別「https://somesite.internal-domain.com」。這意味着有些事情偶爾會被打破。使用CakePHP 1.3,您如何處理開發中的實時和普通HTTP URL上的HTTPS URL?

CakePHP是否提供了一些生成格式化鏈接的方法,以考慮SSL證書是否可用?

+0

你需要所有鏈接的「完整」網址嗎? (包括域名),因爲通常你只能使用沒有域名(/ mycontroller/myaction)的相對鏈接,這樣你就可以保留在當前域中,不管是'https'還是不是。 – thaJeztah 2013-02-08 16:31:32

+0

一句話;在投放前,請務必通過SSL測試*網站。有時瀏覽器在通過SSL提供服務時行爲會有所不同。如果你不在SSL環境下測試,你可能會在部署網站時感到不愉快的驚喜(yup,在那裏)。 – thaJeztah 2013-02-08 16:40:26

+0

@thaJeztah有一個「子網站」指向子域名網站,如http://subsite.mainsite.com – mikemcg 2013-02-28 15:33:37

回答

0

是的,它默認。 如果使用相對或陣列鏈接像

$this->Html->link('Some link', array('controller' => 'foo', 'action' => 'bar', ...)); 

你會看到,蛋糕使用HTTP/HTTPS dependend對您目前使用的是什麼。 這將是要走的路。

如果你想防止一種方法只是301重定向到另一個。 所以,如果你想切換到https,重定向到從http到http(同一個鏈接,但預先添加了不同的協議)。

+0

雖然這是*首選的方式,我問OP是否需要'完整'網址或只有相對URL,這也可以使用選項''full_base'=> true'。 – thaJeztah 2013-02-08 16:34:27

+0

你仍然可以做到這一點。你的方式鏈接() - 和「真」作爲第二參數爲所有'$ this-> Html-> url()'當然:) – mark 2013-02-08 17:00:10

相關問題