簡體   English   中英

如何使用 htaccess 將 url 重定向到動態子域?

[英]How to redirect urls to dynamic subdomain using htaccess?

首先,我想問一下如何使用htaccess進行子域重定向。 www.samcheck.com/www/google.com 到 google.com.samcheck.com

我已經嘗試了 stackoverflow 上所有可用的解決方案。但沒有一個解決方案對我有用。

除了 URL 是https://sampcheck.com/www/google.com ,我希望它是https://google.com.sampcheck.com以便它顯示主 URL 的內容。

RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . index.php [L]
        RewriteCond %{HTTP_HOST} ^.sampcheck.com
RewriteCond %{HTTP_HOST} www\.([^.]+)\.sampcheck\.com [NC]
RewriteRule ^(.*)$ http://sampcheck.com/www/$1 [L,NC,QSA]

除了我對這個問題的評論和我的困惑之外,這種主機命名方案應該有什么意義(廉價的網絡釣魚嘗試除外),這里有一些東西應該指向正確的方向:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.samcheck\.com$
RewriteRule ^/?www/([^/]+)/?$ https://www.$1.sampcheck.com/ [R=301]

最好從 302 臨時重定向開始,然后在確定一切設置正確后才將其更改為 301 永久重定向。 這可以防止在嘗試時出現緩存問題......

另請注意,只有當您確實擁有這些動態主機名的有效證書時,此類重定向才有效...

此規則在 http 服務器主機配置或動態配置文件(“.htaccess”文件)中同樣適用。 顯然重寫模塊需要在http服務器中加載並在http主機中啟用。 如果您使用動態配置文件,您需要注意在主機配置中完全啟用它的解釋,並且它位於主機的DOCUMENT_ROOT文件夾中。

還有一個一般性的評論:你應該總是喜歡將這樣的規則放在 http 服務器主機配置中,而不是使用動態配置文件(“.htaccess”)。 這些動態配置文件增加了復雜性,通常是意外行為的原因,難以調試,而且它們確實會降低 http 服務器的速度。 它們僅在您無法訪問真正的 http 服務器主機配置(閱讀:非常便宜的服務提供商)或堅持編寫自己的規則的應用程序(這是一個明顯的安全噩夢)的情況下作為最后一個選項提供。

暫無
暫無

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

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