我有一个 Web 应用程序,前端是 HTML 和 JavaScript/jQuery,后端是 PHP。
它使用的是丑陋的 URL,host/app/Page.php?userid=1.... 丑陋!因此,使用一点 MOD_REWRITE 它现在会将 url 作为 url/page/1/
RewriteRule ^page/([0-9]+)/?$ host/app/page.php?userid=$1 [NC,L]
接下来,它最初对 PHP 文件执行简单的 jQuery GET 请求以获取动态数据。
var params = A JS function to get all paramters after the ? in URL
var userid = params.id;
$.getJSON('host/app/page_code.php',{'userid':userid}, function(data) {
var blah = data.blah;
});
现在在使用 MOD_REWRITE 之后,我现在没有很好的方法来获取参数的前端,只能以 page/1 格式。循环并在斜线之间获取每个参数只是感觉不是正确的方法。
所以我点击了谷歌,似乎从 MOD_REWRITE 发送参数似乎是这样做的方法。所以我的问题是,这怎么可能,它是如何完成的?
如何使用 MOD_REWRITE 从 URL 获取参数,将这些参数发送到 PHP 后端,然后使用 JSON 向前端返回响应?
编辑:我遇到的问题是我需要将参数从 JS 传递到 PHP 后端,然后得到响应。我最初使用 JS 从 URL 获取这些参数,然后将它们传递到 GET 请求中,然后我会根据发送的参数从 PHP 获得响应。但是现在我在 URL 上使用了 mod_rewrite,我看不到前端的参数以传统的 ?a=b&c=d 格式捕获。现在看起来像 /b/d 要在 JS 中获取这些,我只能通过循环并获取斜杠之间的每个参数来做到这一点。这样做似乎不对。实际上,我需要了解如何在前端的单独页面中获取 PHP 代码的参数。然后使用 PHP 代码的响应将其传递回前端,这样我就可以说用户 ID。我不 不希望前端文件中的任何 php 将其全部分开。必须有一种方法可以将参数从 url 获取到不同文件中的 PHP 代码,然后使用用户 ID 将响应发送回前端 HTML&JS。对于干净的网址,我对整个 MOD_REWRITE 很陌生,这让我很困惑!