我想知道如何使用.htaccess
将某个路径重定向到某个扩展名。为了更清楚,我想重定向这样的事情:
http://www.example.com/api/some/page
对此:
http://www.example.com/some/page.json
我知道我可以使用CakePHP提供的路由器来执行此操作,但是,如何使用.htaccess
文件完成此操作?
答案 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
是忽略大小写