我正在尝试帮助一位朋友,她的客户在一次黑客攻击后将她的整个网站都下意识地引入了 SSL。这对她的 SEO 造成了严重破坏,导致重复页面被编入索引,导致旧链接不再指向正确 URL 的 PageRank 流失,等等。
无论如何,我在此处的另一篇似乎几乎符合要求的帖子之后对 .htaccess 进行了建模,但我想由这里的专家运行它以确保文件看起来正确。
基本上,除了少数 html 页面、一些 .php 页面和 .cgi 脚本之外,站点上的所有页面都需要从 HTTPS 重定向回 HTTP。你能告诉我是否有一个简单的规则将所有 php 页面设置为 HTTPS,然后在 HTTPS 和 .cgi 脚本后面设置一些额外的 HTML 页面?我真的很感激。这是我到目前为止所得到的:
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit GET POST>
order deny,allow
deny from all
</Limit>
AuthName thedomain.com
AuthUserFile /home/thesitename/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/thesitename/public_html/_vti_pvt/service.grp
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} page1.html
RewriteCond %{REQUEST_URI} page2.html
RewriteCond %{REQUEST_URI} page3.html
RewriteCond %{REQUEST_URI} page4.html
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(auth|register|secure)
RewriteCond %{REQUEST_URI} !originalpage.php
RewriteCond %{REQUEST_URI} !cgi-script.cgi
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301]