首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在url中重写%C2%A0的.asp

如何在url中重写%C2%A0的.asp
EN

Stack Overflow用户
提问于 2014-09-12 13:11:31
回答 1查看 586关注 0票数 1

我已更改了我的网站,并希望重写以下链接:

代码语言:javascript
复制
mysite.co.uk/productdetails/617/6/Casio%C2%A0CDP120%20Digital%20Piano%20in%20Black/

代码语言:javascript
复制
mysite.co.uk/Casio-CDP120-Digital-Piano-in-Black/302

问题是,以前的%C2%A0%20,不知道为什么会改变,但是当它是%20时,我可以这样重写它:

代码语言:javascript
复制
RewriteRule "^productdetails/617/6/Casio CDP120 Digital Piano in Black/?$" /Casio-CDP120-Digital-Piano-in-Black/302 [L,NC,R=301]

其他网址包括:

代码语言:javascript
复制
mysite.co.uk/productdetails/647/6/Casio%20PX350%20Digital%20Piano%20in%20Black/

代码语言:javascript
复制
mysite.co.uk/Casio-PX350-Digital-Piano-in-Black/296

这些我重写如下:RewriteRule "^productdetails/647/6/Casio PX350 Digital Piano in Black/?$" /Casio-PX350-Digital-Piano-in-Black/296 [L,NC,R=301]这类urls的混合物(每个产品的最后一个数字将是不同的)。

欢迎任何帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-12 14:32:19

下面的3条规则将处理这个奇怪的URL重写问题。将其放入根.htaccess中

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

# take care of %C2%A0
RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE]

# executes **repeatedly** as long as there are more than 1 spaces in URI
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE]

# executes when there is exactly 1 space in URI 
RewriteRule "^productdetails/617/6/(\S*) (\S*?)/?$" /$1-$2/302 [L,R=302,NE]

RewriteRule "^productdetails/647/6/(\S*) (\S*?)/?$" /$1-$2/296 [L,R=302,NE]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25809138

复制
相关文章

相似问题

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