URL 重写 - 可选参数?
我想要一个正则表达式字符串来反映一个可选参数,在本例中是一个地理状态。
我可以通过两条规则来完成此操作:
<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"/>
通过查询 /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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有一段时间没有搞乱配置中的重写 url,但我已经习惯了正则表达式。这对你有用吗?
国家不会说没有,但实际上应该是空白的。
Have not messed with rewrite url in the config in a while but am quite used to regex. Would this work for you?
The state would not say none but should actually be blank.
您愿意将空白字符串而不是 NONE 传递给状态参数吗?如果是这样,您的第一条规则可以像这样重写:
...并且您的第二条规则可以被删除。
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:
...and your 2nd could be deleted.