[英]url rewrite for lighttpd - regex
我想将我的网址转换为不带参数的短网址,但第一次尝试,我会将正则表达式减少为仅一种情况:
有许多正常的URL不应受到影响。 我要重写网址的唯一情况是用户个人资料页面。
目前,它们看起来像这样:
www.dummy.com/index.php?user=USERNAME&id=USERID
目标方案如下所示:
www.dummy.com/USERNAME/USERID
用户名几乎可以包含任何字符(不带/),而不仅仅是z / AZ。
我从来没有真正擅长过正则表达式,也不知道如何处理这个问题。 欢迎任何建议。
不会有对文件夹的请求(www.dummy.com/folder/subfolder),但是确认userid是一个整数值会很好,但不是必须的。
您可以在DOCUMENT_ROOT/.htaccess
文件中使用以下代码:
RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)/(\d+)/?$ index.php?user=$1&id=$2 [L,QSA]
这将与以下网址之一匹配:
/abcd/123
/abcd/123/
/abcd456/6789
/abcd456/6789/
编辑:
在LigthHttpd中,请使用以下等效规则:
url.rewrite = ( "^/(\w+)/(\d+)/?(?:\?(.*))?$" => "/index.php?user=$1&id=$2&$3" )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.