1

我已经尝试在我的网站上使用 .htaccess 中的几种不同解决方案将 HTTP 的 url 重定向到 HTTPS,但没有一个有效。好吧,实际上如果我直接输入它确实有效:

(仅作为示例)http://mywebsite.com

进入浏览器地址栏....但如果我尝试以任何其他方式重定向 url,它将无法正常工作。如果我尝试链接到我在 Google http://mywebsite.com/上列出的页面,它不会重定向到https://www.mywebsite.com。如果有人从搜索引擎单击指向​​我的页面的链接,我需要它从 HTTP 重定向到 HTTPS。

到目前为止,我已经尝试过:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

然后我试了...

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

然后我尝试了...

RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R,L]

没有工作。我还应该尝试什么?(本网站托管在使用 apache 网络服务器的网络托管服务站点上)。另外,我有一个页面的 SSL 证书,如果这有什么不同的话。

4

1 回答 1

3

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

提示:清除浏览器缓存或使用其他浏览器进行测试。

于 2013-07-08T15:29:22.470 回答