URL 重写 - 可选参数?

发布于 2024-10-25 01:02:25 字数 501 浏览 1 评论 0原文

我想要一个正则表达式字符串来反映一个可选参数,在本例中是一个地理状态。

我可以通过两条规则来完成此操作:

<rewrite url="~/(.+)-(.+)/(.+).aspx" to="~/Default.aspx?city=$1&amp;state=$2&amp;term=$3&amp;x=$4"/>
<rewrite url="~/(.+)/(.+).aspx" to="~/Default.aspx?city=$1&amp;state=NONE&amp;term=$2&amp;x=$4"/>

通过查询 /Los+Angeles/cars.aspx: 地理城市: 洛杉矶 地理状态:NONE

对于 /Los+Angeles-CA/cars.aspx 的查询: 地理城市: 洛杉矶 Geo - state: CA

我很好奇是否有一种方法可以在一个重写语句中做到这一点。

谢谢。

I would like a regex string to reflect an optional parameter, in this case, a geographic state.

I can accomplish this with two rules:

<rewrite url="~/(.+)-(.+)/(.+).aspx" to="~/Default.aspx?city=$1&state=$2&term=$3&x=$4"/>
<rewrite url="~/(.+)/(.+).aspx" to="~/Default.aspx?city=$1&state=NONE&term=$2&x=$4"/>

With, a query to /Los+Angeles/cars.aspx:
Geo - city: Los Angeles
Geo - state: NONE

With, a query to /Los+Angeles-CA/cars.aspx:
Geo - city: Los Angeles
Geo - state: CA

I'm curious about if there is a way to do this in one rewrite statement.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

碍人泪离人颜 2024-11-01 01:02:25

有一段时间没有搞乱配置中的重写 url,但我已经习惯了正则表达式。这对你有用吗?

<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Default.aspx?city=$1&state=$2&term=$3&x=$4"/>

国家不会说没有,但实际上应该是空白的。

Have not messed with rewrite url in the config in a while but am quite used to regex. Would this work for you?

<rewrite url="~/([^-]+)(?:-(.+))?/(.+).aspx" to="~/Default.aspx?city=$1&state=$2&term=$3&x=$4"/>

The state would not say none but should actually be blank.

遗弃M 2024-11-01 01:02:25

您愿意将空白字符串而不是 NONE 传递给状态参数吗?如果是这样,您的第一条规则可以像这样重写:

~/(.+)-?(.+)/(.+).aspx

...并且您的第二条规则可以被删除。

Are you willing to pass a blank string instead of NONE to the state parameter? If so, your 1st rule could be rewritten like this:

~/(.+)-?(.+)/(.+).aspx

...and your 2nd could be deleted.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文