我們正在運行包含HTTP和HTTP協議的網站。我們需要一個針對.htaccess文件的規則,我們可以處理這些請求,即非https頁面應該使用http://重定向,並且https頁面應該使用https://協議重定向。 我們使用的是Apache。任何幫助將不勝感激。在單個網站上的http和https頁面之間切換
回答
將此添加到您站點根目錄的.htaccess文件中。
RewriteEngine on
# Force http://
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} ^(/|/dl/memorandum.*)$ [NC]
RewriteRule^http://%{HTTP_HOST}/ [R=301,L]
# Force SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} ^/contact$ [NC]
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
您可以通過使用|
或操作者匹配在多個頁面。
^/(contact|profile|transactions)$ [NC]
如果網址冗長,你可以刪除$
,做一個前綴匹配的
^/(contact|profile|transactions) [NC]
這將匹配/contact-page
或/contact/page
以及現在。
使用否定在所有不需要SSL的規則上強制使用HTTP。
RewriteEngine on
# Force http://
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/(contact|login|cart|register|forgot-your-password|request)$ [NC]
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Force SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} ^/(contact|login|cart|register|forgot-your-password|request)$ [NC]
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如何在此行添加多個網址「 RewriteCond%{REQUEST_URI} ^/contact $」 – 2015-02-11 13:49:23
答覆已更新。 – 2015-02-11 13:55:33
似乎有效,但有錯誤。 看到這個鏈接:https://www.netlawman.co.in/dl/memorandum-and-articles-of-association這是非https頁面,但仍然打開與https://應該重定向到http: // – 2015-02-11 14:02:00
- 1. 使用安全會話cookie在HTTP和HTTPS頁面之間切換
- 2. 使用SSL-Ext和Struts 1.2.9在HTTP和HTTPS之間切換
- 3. 如何在.htaccess中的http和https之間切換?
- 4. 爲什麼JavaScript在HTTP和HTTPS之間嵌入切換?
- 5. 在HTTP和HTTPS之間自動切換asp.net
- 6. 正確使用.htaccess在HTTP和HTTPS之間切換
- 7. HTTPS網站上的HTTP
- 8. PHP - 在網站之間切換?
- 9. HTTPS頁面上的HTTP表單
- 10. 如何在http網站的特定頁面上將http請求重寫爲https?
- 11. 如何在http和https頁面之間共享數據?
- 12. ngRoute在頁面之間隨機切換
- 13. HTTPS頁面上的HTTP iframe
- 14. Cookie與HTTP和HTTPS網站部分之間不同步
- 15. 針對單個頁面的HTTP到HTTPS
- 16. ASP.NET中HTTP和HTTPS頁面之間的Request.Form
- 17. 在桌面和移動版本的網站之間切換的策略
- 18. 在部署在網頁上的java小程序中的面板之間切換
- 19. 在Http或Https之間切換(基於父目錄)
- 20. iOS ASIHTTPS請求在HTTP/HTTPS連接之間切換
- 21. 如何在asp.net中切換Http和Https
- 22. 在ASP.NET MVC 1.0中切換HTTP和HTTPS
- 23. 在頁面對象api和主要夜間api之間切換
- 24. JSP - 無法維持http頁面和https頁面之間的會話
- 25. 在https網站上加載http內容
- 26. 在我的WordPress站點上禁用單個.php頁面的https
- 27. 在面板之間切換
- 28. 切換從http頁面到HTTPS的安全的支付
- 29. 建立一個「單頁」網站與網頁之間的動畫
- 30. https上的Login.php包含在http頁面
請提供一些關於重定向規則應該是什麼樣的細節。 Ps:我不是downvoter。 – 2015-02-11 13:37:03
謝謝Ravi,我在我的網站上使用這兩種協議。例如,讓我們分兩頁,不使用ssl的主頁和使用ssl的聯繫頁。所以如果有人試圖使用https://homepage.com訪問主頁,那麼他必須重定向到http://homepage.com。與使用ssl的聯繫人頁面相反的情況。 – 2015-02-11 13:39:29