这看起来很简单,但我做不到。
我有一个用户将他的用户名从 更改givenname
为name
,现在我需要重写,更改客户端上的 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 服务器。
您可以为以前的用户名禁用mod_userdir功能:
之后,您可以简单地使用mod_alias进行重定向:
请尽快升级到 Apache 2.4:Apache 2.2 2017 年以后没有更新,2.2.16 是从 2010 年 7 月开始的!