簡體   English   中英

如何在 .htaccess 中重定向子域

[英]How can I redirect subdomain in .htaccess

嗨,在我的網頁上,如果用戶通過“https://darkzin.cz/”進入“https://www.darkzin.cz/”,我需要重定向。 為此,有人幫助我使用“.htaccess”代碼:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.darkzin.cz/$1 [L,R=301,NE]

它可以工作,但現在我需要子域( https://pamatnicek.darkzin.cz/ )。 這是我的問題。

  • 如果我使用這個“三行”,則可以“在沒有 www 的情況下使用 www 重定向”,但我無法訪問子域。 子域 url 被重定向到主頁。
  • 如果我刪除這“三行”,則可以進入子域,但是我的 web 可以“帶 www”和“不帶 www”工作,因此我有重復的 url。

我該如何解決這個問題?

與其硬編碼域名,不如使用RewriteCond %{HTTP_HOST}從 URL 本身匹配它,並在后面的規則中使用反向引用:

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

%1是我們從RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]中的捕獲組捕獲的值,稍后在RewriteRule中使用%1

暫無
暫無

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

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