我正在重写我的旧网址结构重写我的新网址,我的旧网页使用破折号来分隔单词,而我的新单词使用+。
这是我的重写规则
RewriteRule ^search/files/(.*)/(.*).html?$ http://www.domain.com/search.html?q=$2 [R=301,L]
我怎样才能在$ 2上用字符串替换替换-s?
由于
答案 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)
由于您的“旧代码”有效,请将“ - ”替换为“+”,您的问题就解决了。