如何使用htaccess自动将%20或空格重定向到+或 - ?

时间:2011-04-16 20:50:15

标签: .htaccess mod-rewrite

我需要自动将大量的url / file%20name / ore / file name /重定向到/ file + name /或/ file-name /.

我怎么能用.htacess做到这一点?

2 个答案:

答案 0 :(得分:4)

在.htaccess中尝试此规则:

RewriteEngine on
Options +FollowSymlinks

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

# executes when there is exactly 1 space in URI
RewriteRule "^(\S*)\s(\S*)$" /$1+$2 [L,R=302,NE]
  • R = 301将使用https状态301

  • 重定向
  • L将制作最后一条规则

  • NE不用于编码URI

答案 1 :(得分:0)

您可以使用以下内容:

RewriteRule file\ name\ http://example.com/file+name [R=301,NC,NE,L]

评论后编辑:

试试这个:

RewriteRule ^([^\ ]*)\ (.*)$ $1-$2 [E=rspace:yes,N]