2016-08-05 92 views
1

我已经设置了我的.htacess文件中的以下内容: 一个非WWW重定向到www 和http到https301重定向,.htaccess文件HTTP-HTTPS

这似乎如果我访问非WWW做工精细文件将转发到

问题是,如果我使用非https访问单个页面,它仍然会呈现并且不会转发到https版本。

我该如何解决这个问题? RewriteOptions继承上

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^mywebsite.co.uk [NC] 
RewriteRule ^(.*)$ https://www.myswebsiye.co.uk/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^mywebsite\.co\.uk$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mywebsite\.co\.uk$ 
RewriteRule ^index\.html$ "https\:\/\/www\.mywebsite\.co\.uk\/" [R=301,L] 

回答

0

RewriteEngine叙述你可以用它来取代这两个力WWW和力HTTPs

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%{SERVER_NAME}%{REQUEST_URI} [R=301,L,NE] 

上面的代码集成了两个,迫使WWW并迫使HTTPs

+0

所以,如果我输入我的网页的URL,并使用非HTTPS与上面的代码应该重定向? – Timmer

+0

我已经添加了.htaccess文件我现在有 – Timmer

+0

'#End Wordpress'下的任何东西,替换上面我所说的。上面应该将这样一个URL:'http:// example.com'转换为'https:// www.example.com' – Lag

0

我有一个像你一些问题,你可以编辑.htaccess到:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{ENV:HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

# BEGIN WordPress 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>