Dot-Htaccess

僅當來自其他站點引用者的根目錄時才重定向到文件夾

  • May 5, 2022

我有一個從根目錄到子文件夾的重定向。如果使用者訪問https://example.com它會重定向到https://example.com/subfolder. 但是如果推薦人是我的網站,我希望它不要重定向,以便使用者可以訪問根頁面。

例如:

  1. 使用者訪問https://example.com
  2. 它重定向到https://example.com/subfolder
  3. 使用者訪問https://example.com/subfolder/file.html
  4. 這個頁面上有一個連結https://example.com,他跟著它
  5. 它必須打開https://example.com而不是重定向

這是我的.htaccess:

RedirectMatch ^/$ https://example.com/

請給我一個解決問題的建議,我對 .htaccess 規則很差。

這是我的.htaccess:

RedirectMatch ^/$ https://example.com/

這顯然不會/subfolder像您建議的那樣重定向到。它會創建一個無限的重定向循環。

但是,您不能Referer使用 mod_alias 檢查標題RedirectMatch。您需要改用 mod_rewrite (或<If>表達式)。

例如:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^https://example\.com($|/)
RewriteRule ^$ /subfolder/ [R,L]

請注意,檢查URL 路徑(即。^$)是有意的。RewriteRule 模式與斜杠前綴不匹配。

引用自:https://serverfault.com/questions/1100103