在.htaccess中强制WWW和HTTPS(SSL) - 需要帮助

时间:2012-08-15 19:04:32

标签: .htaccess ssl

我已经找到了其他一千个主题,但是他们的解决方案似乎都没有找到帮助。

我刚刚在几天前为我的域名购买了SSL,因为我在网站上接受信用卡/支票卡,我希望我的客户感觉安全。

无论如何,这就是我的.htaccess文件目前的样子:

php_flag display_startup_errors off
php_flag display_errors off

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteRule ^buy-wow-accounts index.php [NC]
RewriteRule ^sell-wow-accounts sell.php [NC]
RewriteRule ^about-khaccounts about.php [NC]
RewriteRule ^buy-sell-wow-accounts-faq faq.php [NC]
RewriteRule ^khaccounts-feedback feedback.php [NC]
RewriteRule ^payment-plan payment-plan.php [NC]
RewriteRule ^customer-login customer-login.php [NC]
RewriteRule ^customer-center customer-center.php [NC]
RewriteRule ^privacy-policy privacy.php [NC]
RewriteRule ^buy-world-of-warcraft-wow-accounts/page-([0-9]+) listing.php?pageid=$1 [L,NC]
RewriteRule ^buy-world-of-warcraft-wow-accounts listing.php [L,NC]
RewriteRule ^world-of-warcraft-wow-acc/([^/]*)\.html$ account.php?acc=$1 [NC]

我想要做的是强制WWW(如果它不在URL中)并确保也强制使用HTTPS(SSL)。我有很多链接到我的网站,其中大多数只是'www.khaccounts.net','http://khaccounts.net'和'khaccounts.net'等链接。

我想确保这些不同的旧链接中的每一个都被强制使用WWW和HTTPS。换句话说,我希望人们拥有这个网址 - “https://www.khaccounts.net”,无论他们访问我网站的网址是什么。

谢谢!

4 个答案:

答案 0 :(得分:0)

在你的www规则之后添加:

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

此外,将您的www规则更改为https://,以便不会有2个重定向。

答案 1 :(得分:0)

看起来您正在将所有网址重写为根。你为什么不试试:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]

答案 2 :(得分:0)

尝试替换这些行:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

有了这个:

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.khaccounts\.net$ [NC]
RewriteRule ^(.*)$ https://www.khaccounts.net/$1 [R=301,L,QSA]

答案 3 :(得分:0)

这可以在khaccounts.net被点击时显示正确的URL,但仍然会引发重定向循环。

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.khaccounts.net/$1 [R=301,L,QSA]