字符串替换破折号加号htaccess

时间:2013-09-28 23:14:48

标签: regex .htaccess mod-rewrite replace

我正在重写我的旧网址结构重写我的新网址,我的旧网页使用破折号来分隔单词,而我的新单词使用+。

这是我的重写规则

RewriteRule ^search/files/(.*)/(.*).html?$ http://www.domain.com/search.html?q=$2 [R=301,L] 

我怎样才能在$ 2上用字符串替换替换-s?

由于

2 个答案:

答案 0 :(得分:1)

在现有规则之前插入此规则

RewriteEngine On

# replace - with + in $2 and $2
RewriteRule ^(search/files/[^/]+)/([^-]*)-+(.+?\.html?)$ /$1/$2+$3 [NC,L,R]

# your present rule
RewriteRule ^search/files/([^/]+)/([^.]+).html?$ http://www.domain.com/search.html?q=$2 [R=301,L,QSA,NC] 

答案 1 :(得分:-1)

由于您的“旧代码”有效,请将“ - ”替换为“+”,您的问题就解决了。