使用htaccess重定向到某个扩展名

时间:2018-03-20 10:34:48

标签: .htaccess cakephp

我想知道如何使用.htaccess将某个路径重定向到某个扩展名。为了更清楚,我想重定向这样的事情:

http://www.example.com/api/some/page

对此:

http://www.example.com/some/page.json

我知道我可以使用CakePHP提供的路由器来执行此操作,但是,如何使用.htaccess文件完成此操作?

1 个答案:

答案 0 :(得分:2)

要处理此重写,您可以在RewriteEngine On下方使用此规则:

RewriteEngine On

RewriteRule ^api/(?!.+\.json$)(.+)$ $1.json [L,NC] 
  • (?!.+\.json$)是一个负向前瞻,它会跳过以.json结尾的匹配URI(以避免重写循环)
  • 模式^api/(?!.+\.json$)(.+)$匹配以/api/开头的URI,并在/api
  • 中的$1之后捕获部分 目标中的
  • $1.json会在匹配部分的末尾添加.json
  • 标志: L用于最后,NC是忽略大小写