首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在htaccess中用连字符替换%20

在htaccess中用连字符替换%20
EN

Stack Overflow用户
提问于 2015-09-23 17:53:17
回答 1查看 1.2K关注 0票数 3

下面用连字符替换%20的代码不能很好地工作。有时它有效,有时不起作用,如果标题中有一个数字,则在数字之后不替换空格。有什么帮助吗?就像。

他30岁了

他-30%20岁20岁

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{THE_REQUEST} (\s|%20)
RewriteRule ^([^\s%20]+)(?:\s|%20)+([^\s%20]+)((?:\s|%20)+.*)$ $1-$2$3 [N,DPI]
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301,DPI]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 19:47:45

与那些复杂的替换方法不同,请尝试以下2条规则,用连字符替换所有空间:

代码语言:javascript
运行
复制
RewriteEngine On

RewriteRule "^(\S*)\s+(\S*)$" /$1-$2 [L,NE,R=302]

RewriteRule "^(\S*)\s+(\S*\s+.*)$" $1-$2 [L]

# remove multiple hyphens
RewriteRule ^(.*)-{2,}(.*)$ /$1-$2 [L,R=302]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32746297

复制
相关文章

相似问题

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