url 重写 lighttpd - 正则表达式

url rewrite for lighttpd - regex

我想在没有获取参数的情况下将我的网址转换为短网址,但第一次尝试时,我会将正则表达式减少为只有一种情况:

有许多正常的网址不应该受到影响。我想重写 url 的唯一情况是用户个人资料页面。

目前它们看起来像这样:

www.dummy.com/index.php?user=USERNAME&id=USERID

目标方案如下所示:

www.dummy.com/USERNAME/USERID

用户名几乎可以包含任何字符(没有 /),而不仅仅是 a-z/A-Z。

我从来都不擅长正则表达式,也不知道如何处理这个问题。欢迎提出任何建议。

不会请求文件夹 (www.dummy.com/folder/subfolder),但确认用户 ID 是一个整数值会很好,但不是必需的。

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteRule ^(\w+)/(\d+)/?$ index.php?user=&id= [L,QSA]

这将匹配以下任一网址:

/abcd/123
/abcd/123/
/abcd456/6789
/abcd456/6789/

编辑:

在 LigthHttpd 中使用这个等效规则:

url.rewrite = ( "^/(\w+)/(\d+)/?(?:\?(.*))?$" => "/index.php?user=&id=&" )