1

我正在尝试在这里做一些非常简单的事情,但它正在踢我的屁股哈哈。我有我的网站,今天早上我得到了一个 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目录中时才重定向到安全站点?

4

1 回答 1

1

在我看来,您的规则应该有效,但无论如何您都不需要RewriteCond %{REQUEST_URI}测试。只需包含^appsRewriteRule

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^apps/(.*)$ https://domain.com/apps/$1 [R=301,L,NC]
于 2012-09-13T16:56:47.203 回答