.htaccess - 使用https加载除主​​页之外的所有页面

时间:2012-05-28 08:24:41

标签: .htaccess

我已使用以下htaccess文件重定向所有页面以使用https:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

有没有办法可以排除主页?除了www.mydomain.com和mydomain.com之外的所有内容都使用https加载?

1 个答案:

答案 0 :(得分:0)

您可以尝试在RewriteRule之前添加此行:

RewriteCond %{REQUEST_URI} !^/$

修改

如果上述方法无效,请尝试以下操作:

RewriteCond %{REQUEST_URI} !^/(index\.php|)$
RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L]

注意:

  1. 我假设您正在运行PHP应用程序服务器,因此当有人请求index.php时,文档根目录中会有一个/文件;否则,用您的DirectoryIndex文件替换index\.php(例如index\.html,不要忘记反斜杠以逃避点)
  2. 我在rewrite指令中添加了一个[L](last)标志,以便在重写过程中找到匹配时重写引擎停止。要了解更多信息,请参阅重写参考(Apache 2.0 link