簡體   English   中英

如何重定向非 www url 成為 www。 進入 htaccess

[英]how to redirect non www url become www. into htaccess

我只想設置文件 .htaccess 以將非 www url 重定向到 www。 但這種情況並不常見。

if the url like this https://<domain name>.com become https://www.<domain name>.com

我已經設置了這樣的代碼。 但沒有用

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

如果我們在瀏覽器中僅鍵入<domain name>.com ,該代碼就可以工作。 but when someone type manualy on browser like this https://<domain name>.com i mean type manualy the https:// can it turn into https://www.<domain name>.com

所以對於這個 .htaccess 我想做這樣的結果

如果類型

<domainName>.com變成https://www.<domainName>.com

www.<domainName>.com變成https://www.<domainName>.com

https://<domainName>.com它變成https://www.<domainName>.com

http://<domainName>.com變成https://www.<domainName>.com

請幫忙。

您可以在站點根目錄 .htaccess 中使用此規則:

RewriteEngine On

# add www and turn on https in same rule
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]

嘗試這個:

# uniform host name
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^.*$ http://www.example.com$0 [R=301,L]

它包括深層鏈接轉發。

你可以試試這個

RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM