htaccess force www和https

时间:2015-12-31 20:18:44

标签: wordpress apache .htaccess https

我无法让我的htaccess将网站重定向到www和https ...我已经尝试添加我在之前的帖子中找到的片段,但我能做到的最好只是在主页上正确重定向而不是其他人......

这是完整的htaccess

order deny,allow
deny from all
allow from env=allowclient
SetEnvIf X-Cluster-Client-Ip 192.88.134.3 allowclient
SetEnvIf X-Cluster-Client-Ip 192.88.135.3 allowclient
SetEnvIf X-Cluster-Client-Ip 185.93.228.3 allowclient
SetEnvIf X-Cluster-Client-Ip 185.93.229.3 allowclient
SetEnvIf X-Cluster-Client-Ip 185.93.230.3 allowclient
SetEnvIf X-Cluster-Client-Ip 192.88.134.0/23 allowclient
SetEnvIf X-Cluster-Client-Ip 185.93.228.0/22 allowclient
SetEnvIf X-Cluster-Client-Ip 192.124.249.0/24 allowclient
SetEnvIf X-Cluster-Client-Ip 199.223.236.179 allowclient
SetEnvIf X-Cluster-Client-Ip 146.148.117.213 allowclient
SetEnvIf X-Cluster-Client-Ip 23.251.134.134 allowclient
SetEnvIf X-Cluster-Client-Ip 178.33.238.180 allowclient
SetEnvIf X-Cluster-Client-Ip 142.4.217.0/24 allowclient
SetEnvIf X-Cluster-Client-Ip 167.114.0.0/24 allowclient
SetEnvIf X-Cluster-Client-Ip 192.99.17.0/24 allowclient
SetEnvIf X-Cluster-Client-Ip 5.196.79.0/24 allowclient
SetEnvIf X-Cluster-Client-Ip 130.211.0.0/16 allowclient
SetEnvIf X-Cluster-Client-Ip 104.155.0.0/16 allowclient

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]
RewriteRule ^static/lib/(.*) /wp-includes/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^file/(.*) /wp-content/uploads/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^static/ext/(.*) /wp-content/plugins/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^static/(.*) /wp-content/themes/tc/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^enfold/(.*) /wp-content/themes/enfold/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^static_main/(.*) /wp-content/themes/enfold/$1?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^ajax /wp-admin/admin-ajax.php?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^wp-content/themes/tc/screenshot\.png|readme\.html|license\.txt|wp-content/debug\.log|wp-includes/$ /nothing_404_404?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteRule ^(((wp-content|wp-includes)/([A-Za-z0-9\-\_\/]*))|(wp-admin/(!network\/?)([A-Za-z0-9\-\_\/]+)))(\.txt|/)$ /nothing_404_404?p_hide_my_wp=soloshotfirst [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

# END WordPress

<FilesMatch "\.(ttf|otf|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>

2 个答案:

答案 0 :(得分:1)

试试这个。

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

答案 1 :(得分:1)

使用(RewriteBase /之后):

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

只有一个带或不带www的重定向