我正在使用.htaccess在我的網站上創建幾個網頁secure -/renew和/ renew-result。我有一個腳本,它接受/更新用戶的輸入,將它們發送到異地完成某些操作,然後將它們返回到/ renew-result。這可以在沒有https重寫規則的情況下運行,但是當我嘗試實現規則時(見下文),用戶不會返回/ renew-result,而是重定向到/ renew。.htaccess重寫規則也在重寫不同的網址
這是我的.htaccess文件的相關部分:
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^renew https://www.mydomain.com/renew [R,L]
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^renew\-result https://www.mydomain.com/renew-result [R,L]
感謝您的任何援助。
更換'的RewriteCond%{SERVER_PORT}^80 $'和'的RewriteCond%{} HTTPS和off',而不是'重寫規則^ renew'應該是'^重寫規則更新$'否則將被應用到任何開頭的URL '/ renew'和'/ renew-result'也屬於那個列表。 – Cheery 2014-11-22 02:28:03
感謝您的建議。爲什麼使用HTTPS而不是SERVER_PORT? – 3rik5 2014-11-22 23:18:29
因爲https連接可以通過端口80完成到前端(如果存在),並且可以通過端口80完成,但是在'mod_rpaf'幫助下爲'安全'連接設置環境。這就是我在我的服務器上做的事情--cachig nginx,它也實現了https連接,正常連接到後端apache,但提供有關連接類型的信息。另外後端可以在其他端口上運行,而不是在80端口上運行。 – Cheery 2014-11-22 23:33:47