繁体   English   中英

如何使用重写url。 在路上?

[英]How to rewrite url with . in the path?

我有一个网站(asp.net),谷歌以某种方式认为它具有如下网址:

http://www.example.com/IL/Venice/Industrial-Warehouse-Space/1226-Bissell-Ave./709265

实际网址应为

http://www.example.com/IL/Venice/Industrial-Warehouse-Space/1226-Bissell-Ave/709265

http://www.example.com/property.aspx?id=709265

怎么改呢?

我尝试了几种软件来重写它,即ISAPI_Rewrite3.0,

#RewriteRule /[a-zA-Z][a-zA-Z]/[a-zA-Z0-9\-/,.`')(&_@%\.]+./([0-9]+) /Property.aspx?ID=$1 [L]

但是,它没有用。 它返回404。尽管customError已设置,但从未命中它。

看起来几乎像在asp.net处理它之前一样,它返回404。

我认为,这是两个问题(和规则)。 一个是重定向第一URL(同. )向第二( 没有 . )。

RewriteRule ^(../.+?)\.(/[^/]+)$ /$1$2 [R,L]

另一种是将请求URI重写为ASP脚本。

重写规则有几个问题

  • 它以斜杠开头,在目录上下文中不存在
  • 它有一个. 在最后一个斜杠前,这既不必要又无济于事
  • 目标是大写的,如果文件系统区分大小写,则可能会导致“ 404 Not found”
  • 查询参数ID为大写,这可能是问题,也可能不是问题

如果您只想将尾随编号作为脚本的ID,并且不十分在意URL的格式,则可以尝试使用此规则捕获它

RewriteRule ^.+?/([0-9]+)$ /property.aspx?id=$1 [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM