為更改使用者名稱的使用者重寫 userdir

為更改使用者名稱的使用者重寫 userdir

這看起來很簡單,但我卻做不到。

我有一個用戶將其用戶名從 更改givennamename,現在我需要重寫,更改客戶端上的 URL,以避免 ~givenname 上出現 404 錯誤。

我想我可以做這樣的事情:

RewriteEngine on
RewriteBase /~givenname/
RewriteRule ^~givenname/([^/]+)$ ~name/$1 [R=301,L]

但我無法做到這一點。

我知道它mod_userdir會在 Unix 檔案 ( ) 上找到特定的使用者資訊/etc/passwd或 上指定的任何內容/etc/nsswitch.conf,但有辦法欺騙它並重定向到新使用者名稱嗎?

謝謝。

PS:我正在運行一個有點舊的 Apache 2.2.16 伺服器。

答案1

您可以停用mod_用戶目錄前用戶名的功能:

UserDir disabled givenname

之後你可以簡單地使用模組別名對於重定向:

Redirect "/~givenname" "/~name"

請盡快升級到Apache 2.4:Apache 2.2在2017年後就沒有更新了,2.2.16是2010年7月開始的!

相關內容