0

我有一个使用 DotNetNuke 构建的动态网络应用程序,它使用以下 url 格式:

/SeoDummy.aspx?template={VAR1}&keywords={VAR2}

我的用户友好 url 格式是这样的:

http://domain.com/.{VAR1}/{VAR2}

我对 REGEX 真的很糟糕,需要以某种方式检测何时请求用户友好的 url 并用动态 web 应用程序 url 重写它。我尝试了以下方法,但它没有在网站上捕捉到它,它只是 404'ing:

.*/^([^/]+)/([^/]+)/?$

我相信你知道正则表达式会发现我的尝试很愚蠢,但正则表达式是我的氪石!

感谢您提供的任何帮助。

4

2 回答 2

2

由于您使用的是一些自定义 url,我猜正则表达式会比使用URI类更好


在你的正则表达式中你放错了^..正则表达式应该是

^https?://domain[.]com/[.]([^/]+)/([^/]+)/?$
于 2013-06-29T17:28:24.853 回答
1

我没有对此进行测试,但试一试并告诉我它是如何工作的:

domain[.]com/\.([^/]+)/([^/]+)/?$

除了第一克拉标记字符串的开头之外,您似乎大部分都正确...这是不可能的,因为您.*在它前面指定了!你也错过了前面的时期{VAR1}(除非那是一个错字?)。

我也不会放在.*开头,因为那样你可能会捕捉到VAR1 = domain.comVAR2 = something that is actually VAR1

如果你想对你的氪石免疫,那么这个网站非常适合查找东西: http ://www.regular-expressions.info/reference.html

于 2013-06-29T17:27:10.467 回答