我想在这里做一些非常简单的事情,但它踢我的屁股哈哈。我有我的网站,今天早上我得到了SSL证书。我希望我的用户被重定向到安全网站,但我只需要我网站的某一部分的证书,所以我不想担心其他地方。证书是为domain.com
而不是www.domain.com
制作的。我网站上需要证书的部分,所有页面都在apps
目录中。例如domain.com/apps/login.php
。以下是我一直放在.htaccess文件中的内容。
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
目录中时重定向到安全站点?
在我看来,您的规则应该有效,但在任何情况下,您都不需要RewriteCond %{REQUEST_URI}
测试。只需在RewriteRule
:中包含^apps
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^apps/(.*)$ https://domain.com/apps/$1 [R=301,L,NC]