我可以在页面加载后从PHP中删除查询字符串吗?


Can I remove the query string from PHP after the page loads?

我有一个URL:http://localhost/foldername/page?Name =xyz

页面内容是通过从数据库获取数据与name=xyz。但是我想在页面加载后输入URL: http://localhost/foldername/page/xyz。有办法吗?

foldername中创建一个.htaccess文件,并放入以下代码

RewriteEngine On
RewriteRule ^page/([a-zA-Z0-9-/]+)/?$ index.php?name=$1 [L]

从浏览器访问http://localhost/foldername/page/xyz

现在你可以访问nameindex.php get request $_GET['name'];

试试这个,获取url并使用strtok来清除url中的get值

if (isset($_GET['name'])) {
    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    $url = strtok($url, '?');
    $get_name = $_GET['name'];
    $url = "Location: ".$url."/".$get_name;
    header($url);    
}