代码之家  ›  专栏  ›  技术社区  ›  Khan

如何在.htaccess中以%20为目标文件?

  •  1
  • Khan  · 技术社区  · 14 年前

    ...
    rewriterule file%20name.htm http://mysite.com/new_name.htm#anchor [r=301,nc,ne]
    ...
    

    它没有被重定向,我相信这是因为它没有针对名称中有%20的文件。至于标志,我使用ne不重写重定向的#锚定部分。

    谢谢你。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Tim Stone    14 年前

    什么时候? mod_rewrite 调用时,路径已作为Apache请求处理的一部分进行解码。所以,如果你想检查一个空间,你可以按字面意思做:

    RewriteRule file\ name\.html http://example.com/new_name.htm#anchor [R=301,NC,NE,L]
    

    这个 NU 旗帜 doesn't exist ,这就是为什么在尝试使用时会出现内部服务器错误。

        2
  •  0
  •   Khan    14 年前

    不是最好的答案,只能用在特定的情况下,但我变了

    file%20name.htm
    

    file.*
    

    因此,它将匹配任何以“file”开头的文件名,而不考虑空格和特殊字符。