Php 如何替换htaccess中的unicode字符%F5以进行301重定向?

Php 如何替换htaccess中的unicode字符%F5以进行301重定向?,php,.htaccess,redirect,mod-rewrite,unicode,Php,.htaccess,Redirect,Mod Rewrite,Unicode,我有一张src的图片 image/cache/data/skus/cake-171%F5123mm-300x300.jpg 我想在htaccess中进行301重定向。 根据unicode表%F5是õ。 但是绳子 RewriteRule ^image/cache/data/skus/cake-171õ123mm-300x300.jpg image/cache/data/skus/cake-171x123mm-300x300.jpg [L,R=301] 不行 我做错了什么? 在其他情况下,此字符串

我有一张src的图片
image/cache/data/skus/cake-171%F5123mm-300x300.jpg

我想在htaccess中进行301重定向。 根据unicode表
%F5
õ
。 但是绳子

RewriteRule ^image/cache/data/skus/cake-171õ123mm-300x300.jpg image/cache/data/skus/cake-171x123mm-300x300.jpg [L,R=301]
不行

我做错了什么? 在其他情况下,此字符串工作正常,但%F5是真正的问题

  • 确保
    .htaccess
    文件的编码为
    utf-8
    (并且不是ANSI)
  • 在执行重定向时,通常需要设置完整域(而不仅仅是路径)
  • 如果您只想从正确的路径输出正确的文件,而实际上不必使用
    R=301
    ,则只能使用
    [L]

  • 您只需在
    重写规则中使用hexcode
    \xF5

    RewriteRule ^image/cache/data/skus/cake-171\xF5123mm-300x300.jpg /image/cache/data/skus/cake-171x123mm-300x300.jpg [L,R=301]
    

    只需在重写规则中使用
    B
    标志即可。检查文档:@icecub你是说[L,R=301,B]?它没有帮助((如果您不想让它转义,请尝试使用
    NE
    标志。
    B
    标志转义非字母数字字符,允许您对unicode字符使用
    %
    :)1.UTF-8 2,3.对不起,这有关系吗?我不确定您问的是什么…什么“有关系”
    .htaccess
    文件的编码?是的,它必须是UTF-8。