'%2'在RewriteRule上被剥离

时间:2014-02-14 19:44:13

标签: apache .htaccess mod-rewrite

我的.htaccess规则如下:

RewriteCond %{REQUEST_URI} ^/services/service1/?$
RewriteRule . http://www.domain.com/Service1%20Services.html [R=301,L]

%2被剥离,最终结果为http://www.domain.com/Service10Services.html

我搜索过并发现%2就像%1一样是 RewriteCond Backreference

我的问题是我不知道如何逃避它,以便将其视为字符串文字。有人可以告诉我,我该怎么做?

1 个答案:

答案 0 :(得分:1)

%2是一个特殊的反向引用变量,您需要转义才能按字面意思使用它。您还需要NE标记用于非编码。

使用此规则:

RewriteRule ^services/service1/?$ http://www.domain.com/Service1\%20Services.html [R=301,L,NE]