我想将包含两个参数的ajax请求重定向到特定页面。 这是我的文件夹结构:
.
+-- index.php
|
+-- /js/functions.js
|
+-- /pages/projects.php
| +
| +-- /projects-list/1.example.php
|
+-- /duo/index.php
为了显示1.example.php: 我通过以下ajax函数(/js/function.js)从index.php请求../pages/projects.php:
$.ajax({
url: '../pages/projects',
success: function( response ) {
// load the response
}
});
我将网址更改为
http://localhost:8888/index.php?page=pages/projects
一旦我在这里,我有一个链接提交另一个ajax请求加载/pages/projects-list/1.example.php:
$.ajax({
url: './pages/projects.php',
data: 'project=project-list/1.example',
success: function( response ) {
// load the response
}
});
结果网址是:
http://localhost:8888/index.php?page=pages/projects&project=project-list/1.example
如何通过.htaccess将此页面重定向到:/duo/index.php? 在网络选项卡中,似乎请求由projects.php处理,所以我尝试了:
#Redirect example
RewriteEngine On
RewriteCond %{QUERY_STRNG} project=project-list/1.example
RewriteRule ^projects\.php$ /duo/? [L,R=301]
但它不起作用...... 谢谢!
我通过以下方式手动更改网址:
function ChangeUrl(page, url) {
if (typeof (history.pushState) != "undefined") {
var obj = { Page: page, Url: url };
// console.log(obj);
history.pushState(obj, obj.Page, obj.Url);
}
}
这样我就可以重新加载包含我通过ajax加载的动态元素的页面了