Apache-2.4

Apache 410 一個不影響子路徑的 URL

  • April 28, 2021

我試圖殺死一個 URL,所以在我的.htaccess文件中,我輸入:

Redirect    410 /my-path

有用。

如果我嘗試訪問:

https://www.example.com/my-path

我得到:

Gone

請求的資源在此伺服器上不再可用,並且沒有轉發地址。請刪除對該資源的所有引用。

問題是它也會影響所有子路徑,所以如果我嘗試訪問https://www.example.com/my-path/sub-path,我也會收到上面的“Gone”消息。

我怎樣才能用 410 殺死我網站的一個特定路徑?

您需要改用該RedirectMatch指令,該指令使用正則表達式進行匹配,而不是前綴匹配:

RedirectMatch 410 ^/my-path/?$

但是,如果您已經在使用 mod_rewrite 進行其他重定向/重寫,那麼您可能應該使用 mod_rewrite 來避免潛在的衝突。例如,在.htaccess文件頂部附近:

RewriteRule ^my-path/?$ - [G]

GR=410.

參考:

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