带斜杠和不带斜杠的区别(涉及IT技术)

3
我该如何设置规则,使得您可以使用带或不带尾部斜杠的方式访问它?
RewriteRule ^members/([^/]+)$ members.php?id=$1 [L]
3个回答

12
RewriteRule ^members/([^/]+)/?$ members.php?id=$1 [L]

在结尾添加"/?",这表示寻找以斜杠结尾,但"?"表示可有可无。


2
我不知道你所说的“mod-rewrite”是什么(可能是Apache模块?),但那看起来像正则表达式,而我对它们很了解。:-)
试试这个:
RewriteRule ^members/([^/]+)(/|)$ members.php?id=$1 [L]

因此,将其分解为几个部分:^ 表示“以...开始”,“members/”表示完全匹配该字符串,“([^/]+)”表示“一个或多个不是斜杆的字符,赋值给 $1”,“(/|)”表示“斜杆或空字符串,赋值给 $2”,最后的 $ 部分表示“字符串必须在这里结束”。

0

我只需要提取域名,所以我使用了这个:

^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$

在我的电子表格中,它看起来是这样的:
=REGEXEXTRACT(CELL_WITH_URL,"^(?:https?:\/\/)?(?:www[0-9]*\.)?(.*?)(?:\/.*)?$")

希望这能为某些人节省时间!祝你正则表达式编程愉快!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接