/p/username
至
/profile/username
似乎应该是简单的,但我不知道如何隔离可变的用户名。
除非你确实需要某个用户名,否则你只需要redirect到那个确切的位置,没有子目录,那么这非常简单 – 你根本不需要查找用户名。
rewrite ^/p/(.*)$ /profile/$1 permanent;
但是为了争辩,如果你需要获取用户名,比如在用户名和path的其他部分之间插入一些东西,你可以这样做:
rewrite ^/p/([^/]+)(.*)$ /profile/$1/usersite$2 permanent;
第一对括号将在/p/
up(但不包括)下面的斜线之后捕获所有的内容; .*
将捕获string的其余部分。 然后将它们重新添加到$1
和$2
– so /p/username/some-page.html
成为/profile/username/usersite/some-page.html
。