通常访问我的网站会触发这个 htaccess 规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php$1 [L]
所以http://example.com/test/1,变成http://example.com/index.php/test/1
对于 AJAX 调用,我有这个:
RewriteCond %{HTTP_HOST} ^api\.example\.net
RewriteRule ^(.*)$ /api.php$1 [L]
因此,随着虚拟 hsot 指向与域相同的目录,http://api.example.com/test/1变为http://example.com/api.php/test/1
两者之间的区别在于 index.php 将与 JSON 一起返回,JSON 是初始页面加载的基本 html 框架。虽然 api 只会返回 JSON
我也有其他服务器可以通过http://api.example.com在网站上不使用的真实 API 调用。
有没有人看到这个问题?有没有更好的办法?