0
我有一个问题,我无法解决,尽管在论坛中有很多小时的测试和阅读。移植到https后出现htaccess问题(网站+ KeyCDN)
昨天我按照这些步骤,从HTTP迁移到https:
- 激活SSL证书在我的主机面板(包含在我的网站上的共享的Apache托管一个让我们的加密证书)
- 更新所有硬编码到HTTPS链接(规范的URL,JS等各+硬编码KeyCDN链接)
- 每一页都与this tool检查:“没有发现问题”
- 启用共享SSL在我KeyCDN面板+力SSL: “已启用” +更新源URL(HTTP到HTTPS)
- 吹扫KeyCDN缓存
在这一步,我不得不写301重定向到我的htacess中的https,完成该过程。
但是:在我的htaccess中已经编码的301重定向不再起作用。 我不得不从昨天开始关闭我的htaccess文件,这对我的搜索引擎优化来说是一个巨大的问题。
错误消息: “太多的重定向”
这是我的htaccess:
<files .htaccess>
order allow,deny
deny from all
</files>
Options -Indexes
ErrorDocument 403 http://www.example.com
ErrorDocument 404 /404.html
## CANONICAL DOMAIN WITH 301 REWRITE WITHOUT WWW TO WWW
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [QSA,L,R=301]
## 301 REWRITE WITHOUT .HTML AT THE END OF FILES
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
## OLD SITE WITH 301 REWRITE WITHOUT INDEX.HTML/.PHP IN URLS
RewriteEngine On
Redirect 301 /index.php http://www.example.com
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.html?\ HTTP/
RewriteRule ^(([^/]+/)*)index\.html?$ http://www.example.com/$1 [R=301,L]
## 301 REWRITE FOR MOVED PAGES
Redirect 301 /old-url-1 http://www.example.com/new-url-1
我已经尝试了很多代码片段,使301重定向从HTTP到HTTPS,如:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
没有任何作用:即使使用先前的htaccess,网站不再显示(“太多重定向”),我必须停用。
能不能帮我请,写的好301重定向:
- 从HTTP到HTTPS,
- 加www到www,
- 没有.html文件扩展名
- 没有尾部斜线(/)在我的目录结尾
我的网站只用html/css(无CMS)构建。
预先感谢您,因为我认为在其他地方存在重定向冲突。