我想在這裏做一些非常簡單的事情,但它踢我的屁股哈哈。我有我的網站,今天早上我獲得了SSL證書。我希望我的用戶被重定向到安全網站,但我只需要證書用於我網站的某個部分,所以我不想擔心其他任何地方。證書製作爲domain.com
而不是www.domain.com
。我需要證書的網站部分,所有頁面都在apps
目錄中。例如domain.com/apps/login.php
。這是我一直在我的.htaccess文件中。使用.htaccess重定向時,如何測試REQUEST_URI是什麼?
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/apps/.*$
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://domain\.com%{REQUEST_URI} [R=301,L]
現在我將解釋我認爲應該做什麼,我想告訴我錯在哪裏哈哈。
RewriteEngin On
- 允許重定向RewriteCond %{REQUEST_URI} ^/apps/.*$
- 檢查用戶在應用程序目錄RewriteCond %{HTTPS} !=on
- 檢查用戶已經在使用https://開頭RewriteRule ^(.*)$ https://domain\.com%{REQUEST_URI} [R=301,L]
- 重定向
這部分工作。當我輸入www.domain.com/apps/login.php
時,它重定向到https://domain.com/apps/login.php
。完善。但如果我只輸入www.domain.com
,它會重定向到https://domain.com
。所以看起來我的線路RewriteCond %{REQUEST_URI} ^/apps/.*$
壞了。我需要如何設置才能使其只在重定向到安全站點時纔在apps
目錄中?
一個問題。我如何使測試不區分大小寫? – Aust
@使用'[R = 301,L,NC]'。 「NC」表示「沒有情況」。 –
我沒有意識到我可以在'RewriteRule'和'RewriteCond'中加入這個標誌,謝謝。 :) – Aust