2015-12-26 80 views
0

我試圖將我的wordpress網站移動到https。.htacess重定向爲ip到https不能很好地工作

我有專用的IP也首先我有下面的代碼。但did'nt解決我的問題正是

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^11\.11\.11\.11$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

後來我有這個代碼,從而解決了URL重定向問題,但後來我對當有人cliks犯規以前的一個HTTP鏈接同樣的問題去的HTTPS URL。

<IfModule mod_rewrite.c> 
RewriteEngine on 
#First rewrite any request to the wrong domain to use the correct one (here www.) 

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

#Now, rewrite to HTTPS: 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

</IfModule> 

而另一個問題是我將如何重定向IP到https?我必須把它放在哪裏?

+0

你應該做兩次重寫 - 一個應用正確的域名,而另一個應用HTTPS。 [這是一個完整的例子](http://stackoverflow.com/a/13997498/541091),你也可以添加你的'[OR]'條件以匹配IP地址。 –

+0

我已經看到了。沒有ip很好。 – JosePinheiro

+0

IP發送時應該採取什麼措施?是否應該通過HTTPS重定向到www域?如果是這樣,您需要將第三條規則添加到剛處理IP的鏈接答案中。否則,它會首先嚐試將IP重定向到HTTPS,這將成爲瀏覽器的SSL錯誤。 –

回答

0

我使用了一種叫做真正簡單的SS1 插件的形式進入這個代碼。

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTPS} !=on [NC] 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 
</IfModule> 

和之前的所有(由Michael Berkowski提到的)

RewriteCond %{HTTP_HOST} 11\.11\.11\.11 
RewriteRule ^(.*) https://www.example.com/$1 [L] 

感謝與會者

1
RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

確實應該工作

+0

我已經試過那個。不適用於ip。對於其他人來說,是的 – JosePinheiro