【问题标题】:How do I redirect HTTP to HTTPS?如何将 HTTP 重定向到 HTTPS?
【发布时间】:2016-06-21 21:39:28
【问题描述】:

我有这个 htaccess:

RewriteBase /
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/my
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/my
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
DirectoryIndex index.php index.cgi index.html
ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
#### PERSISTENT CONTENT ####
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ zyro/$1 [L,QSA]

我想知道如何保持此代码正常工作并添加 HTTP-HTTPS 重定向,感谢任何帮助。谢谢你

【问题讨论】:

标签: apache .htaccess http https


【解决方案1】:

试试这个。添加到您的 .htaccess

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

【讨论】:

  • 为什么在 htaccess 更改后需要重新启动服务器?
  • 没有必要,除非 OP 正在修改任何 .conf apache 文件,或者 OP 没有将 mod rewrite 模块添加到 apache。我已经更新了原始回复。
  • 我试过了,还是不行,这是新文件的样子
  • RewriteBase / RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^/my RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !^/my DirectoryIndex index.php index.cgi index.html ErrorDocument 401 "Unauthorized" ErrorDocument 403 "Forbidden" ErrorDocument 404 /zyro/404.php #### PERSISTENT CONTENT #### RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ zyro/$1 [L,QSA]
  • 不仅在 chrome 上,而且在所有网络浏览器上
【解决方案2】:

如果您拥有 SSL 证书并已正确安装,则可以使用 https 协议。大多数网站使用 http 协议作为默认协议来处理所有信息。您可以通过在您希望重定向发生的文件夹(例如根目录)中创建或修改“.htaccess”文件来强制您的网站使用 https 协议。

请将此添加到 .htaccess 文件中

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

说明

我们在上面的代码中使用了三个命令:RewriteEngine、RewriteCond 和 RewriteRule。 “RewriteEngine On”告诉 Apache 我们将使用 mod_rewrite。将“RewriteCond %{HTTPS}”关闭,检查https协议是否已经在使用。如果使用 https 协议,则最后一行 (RewriteRule) 将不适用。最后一行“RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}”告诉服务器只将第一部分 (http://) 重写为 (https://)。

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 2010-09-05
    • 2014-06-11
    • 2014-10-10
    • 1970-01-01
    • 2022-08-14
    • 2017-11-13
    • 1970-01-01
    相关资源
    最近更新 更多