.htacess
RewriteCond %{REQUEST_URI} ^/api/(.+)$
RewriteRule ^api/(.+)$ /index.php?api=%1 [QSA,L]
示例 ajax url 请求:'http://hostname.com/api/ext/list.php?query=de'
我希望能够以这种格式将 url 重定向到以下 index.php?api={requested_filename}¶m1=value1¶m2=value2 ...
因为整个站点是通过 index.php 中的引导过程进行处理的,该过程具有加载配置、模板等的路由部分...
例如,当我尝试使用 jquery 代码时,重定向后 POST 数据会丢失。
$.ajax({
url: '/api/contact.php',
type: 'POST',
data: {
email: $("#contactEmail").val(),
name: $("#contactName").val(),
message: $("#contactMessage").val()
// etc ...
}
});
我读到您无法在 http 重定向上保留数据。但是所有框架如何避免这种情况呢?我编写了很多代码,每一个都是通过 index.php 引导的,并且 .htaccess 文件中有用于启用漂亮 url 的重写规则。因此,例如在 Yii 中,我会调用带有一些 POST 数据的 url “api/uploads/latests.json”,后端的控制器将接收该数据。我在这里想念什么?
注意:我已经测试了[P] mod_rewrite 参数,我认为这个服务器没有启用 mod_proxy。