首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写aspx?iid=的正则表达式

问重写aspx?iid=的正则表达式
EN

Stack Overflow用户
提问于 2011-06-23 04:50:26
回答 2查看 257关注 0票数 0

我正在尝试使用ISAPI重写(Mod_rewrite)创建一个与此匹配的正则表达式:

代码语言:javascript
复制
www.website.com/product.aspx?iid=201

我试过了:

代码语言:javascript
复制
^(.*)/product.aspx?iid=201

和:

代码语言:javascript
复制
^(.*)/product\.aspx\?iid=201

这两个表达式似乎都不匹配它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-23 10:08:35

下面规则将从domain.com/product.aspx?iid=201重定向(301)到domain.com/product/productname

代码语言:javascript
复制
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^iid=201 [NC]
RewriteRule ^product\.aspx$ /product/productname [NC,R=301,L]

您必须记住-- Apache、Helicon ISAPI_Rewrite v3、IIS7.x -- RewriteRule指令(或其在IIS中的等价物)仅适用于URL的"path“部分。如果您需要处理域名、协议、服务器端口、查询字符串等,则必须使用RewriteCond。

上面的规则是完全有效的--我确实在我的一台服务器上安装了Helicon ISAPI_Rewrite v3 (IIS6,否则它就是IIS7和标准的网址重写模块)。

如果你有任何问题--请提问,但我很可能会在几个小时内回答--现在是凌晨3点:)

票数 1
EN

Stack Overflow用户

发布于 2011-06-23 05:18:26

代码语言:javascript
复制
^(.*)/product.aspx\?iid=201

适用于以下位置:

http://www.regexplanet.com/simple/index.html

所以我希望它也能在IIS中工作

如果你使用的是java,你会像这样避开你的第二个解决方案:

代码语言:javascript
复制
"^(.*)/product\\.aspx\\?iid=201"

也许IIS喜欢这种风格的转义(不能在这里测试)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6446389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档