Apache2
在apache2中使用IP地址配置重定向
我不是配置 apache 的專家,但我有需要解決的問題。下面是我的虛擬主機 apache 配置,順便說一句,它工作得很好。問題是Google搜尋以某種方式顯示我的 IP 地址而不是我的域名。
<virtualHost somesite.com:80> ServerName www.somesite.com RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{QUERY_STRING} "fbclid=" [NC] RewriteRule (.*) /$1? [R=301,L] RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} </VirtualHost>
所以現在我知道我需要重定向我的 IP 地址,所以我使用了下面的解決方案,這似乎對我不起作用。此外,我附上了螢幕截圖的 HTTP 站點未打開。但是,我的網站的安全版本正在執行。我想要的只是將我的 IP 地址重定向到域名的解決方案,這意味著當使用者在Google搜尋中點擊 IP 地址時,它應該打開安全的 HTTPS 域名。請幫我。
RewriteCond %{HTTP_HOST} ^111\.11\.111\.11$ RewriteRule (.*) https://www.somesite.com$1 [R=301,L]
以下是打開我的網站的基於 HTTP 的版本時的錯誤螢幕截圖
您的配置中有三個重寫規則:
# Rule 1 RewriteCond %{HTTPS} off RewriteCond %{QUERY_STRING} "fbclid=" [NC] RewriteRule (.*) /$1? [R=301,L] # Rule 2 RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} # Rule 3 RewriteCond %{HTTP_HOST} ^111\.11\.111\.11$ RewriteRule (.*) https://www.somesite.com$1 [R=301,L]
由於它們是按順序應用的,並且規則 2 沒有條件,它會覆蓋規則 3。更改規則的順序:
# Rule 1 RewriteCond %{HTTPS} off RewriteCond %{QUERY_STRING} "fbclid=" [NC] RewriteRule (.*) /$1? [R=301,L] # Rule 3 RewriteCond %{HTTP_HOST} ^111\.11\.111\.11$ RewriteRule (.*) https://www.somesite.com$1 [R=301,L] # Rule 2 RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI}