無法實現此htaccess重定向
P粉806834059
P粉806834059 2024-04-04 23:43:51
0
1
1499

我有一個 maindomain.com,其中包含一個網站,這裡的一些頁面應該暫時重定向到我的子網域 tmp.maindomain.com。 所以我使用了這個重定向,它重定向到 tmp.maindomain.com 並且我得到一個無限循環重定向到 tmp.maindomain.com

redirect 301 /mypage.php https://tmp.maindomain.com/mypage.php

我的目標是,如果任何用戶嘗試訪問https://www.maindomain.com/mypage.phphttps://maindomain.com/mypage.php他應該被重定向302 到https://tmp .maindomain.com/mypage.php

謝謝你們的幫忙。

P粉806834059
P粉806834059

全部回覆(1)
P粉593649715

如果子域和主域指向相同位置(或後者的子目錄),則會出現無限迴圈。

在這種情況下,您將需要使用 mod_rewrite(而不是 mod_alias)並明確檢查請求的主機名稱。

但您也使用了 301 永久重定向。您需要使用 302 來代替。 301由瀏覽器持久緩存,因此在測試之前需要確保清除所有緩存。

在子網域的 .htaccess 檔案的頂部、任何現有的 mod_rewrite 指令之前嘗試以下操作。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com [NC]
RewriteRule ^mypage\.php$ https://tmp.maindomain.com/rrreee [R,L]

請注意,RewriteRule 模式(第一個參數)匹配的 URL 路徑不以斜線開頭(與 mod_alias Redirect 不同)指令)。

$0 反向引用包含與整個 RewriteRule 模式 相符的 URL 路徑。 IE。本例中為 mypage.php。這只是節省了重複,因為您重新導向到目標處的相同 URL 路徑。

這預設為 302 暫時重定向。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板