简单的htaccess RewriteRule或重定向无法正常工作

时间:2016-05-01 10:23:57

标签: apache .htaccess url-rewriting

尝试实现简单的.htaccess重定向 没有这些工作,任何想法如何解决?

<input accept="image/*" type="file" name="image" />

1 个答案:

答案 0 :(得分:1)

阅读the documentation of mod_rewrite,因为您的代码有两个常见问题,这两个问题都已在文档中得到解决。

  

每个目录重写

     

[..]

     
      
  • 删除的前缀始终以斜杠结尾,这意味着匹配对于从不具有前导斜杠的字符串。因此,^/的模式在每个目录上下文中永远不会匹配。
  •   

  

如果您希望与主机名,端口或查询字符串匹配,请分别使用带有%{HTTP_HOST}%{SERVER_PORT}%{QUERY_STRING}变量的RewriteCond。

除此之外,请记住RewriteRule的第一个参数是正则表达式。 ?字符在正则表达式中具有特殊含义。

你必须这样纠正:

RewriteCond %{QUERY_STRING} ^productsublayout=products_horizon$
RewriteRule ^en/$ /en/? [R=302,L]

或者,如果您有最新版本的Apache,请在重写部分后面使用QSD标志而不是尾随?