在.htaccess中强制使用WWW和HTTPS(SSL)
我发现有1000个其他主题需要这方面的帮助,但他们的解决方案似乎都没有出于某种原因。在.htaccess中强制使用WWW和HTTPS(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',无论他们通过什么URL访问我的网站。
谢谢!
右后您的www规则添加:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
而且,您的www规则更改为https://
,以便有没有2个重定向。
看起来像你正在重写所有的网址到根目录。你为什么不尝试:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]
尝试更换这些线路:
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]
这似乎正在做我所需要的,但问题是它放入URL的所有内容都是https:// www。 - 它缺少请求的URL。 – user554095 2012-08-15 21:25:18
这很奇怪,$ 1是有捕获请求的网址,并将其传递给新的网址...嗯... – Oussama 2012-08-15 21:52:23
是的,所有显示的是 - https:\\ www。 - 而已。我把https:// www \ .khaccounts \ .net $ 1作为重写规则,它给了我正确的URL,但是让我进入重定向循环。 – user554095 2012-08-15 22:03:53
此作品中流露出khaccounts.net被击中时,正确的URL,但仍然会引发重定向循环。
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.khaccounts.net/$1 [R=301,L,QSA]
这不起作用。当我输入'khaccounts.net'时,它会在URL中显示'https://khaccounts.net//',并表示该页面有重定向循环。 – user554095 2012-08-15 21:27:40