我可以在页面加载后从 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 在页面加载后。有什么办法吗?
试试这个,获取 url 并使用 strtok 清除 url
中的值
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);
}
在 foldername
中创建一个 .htaccess
文件并将此代码放入
RewriteEngine On
RewriteRule ^page/([a-zA-Z0-9-/]+)/?$ index.php?name= [L]
从浏览器访问
http://localhost/foldername/page/xyz
现在您可以使用获取请求 $_GET['name'];
在 index.php 中访问 name
我有一个 URL 像:http://localhost/foldername/page?name=xyz 页面加载后。
页面内容是通过使用 name=xyz 从数据库中获取数据来的。 但我想 URL 喜欢: http://localhost/foldername/page/xyz 在页面加载后。有什么办法吗?
试试这个,获取 url 并使用 strtok 清除 url
中的值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);
}
在 foldername
中创建一个 .htaccess
文件并将此代码放入
RewriteEngine On
RewriteRule ^page/([a-zA-Z0-9-/]+)/?$ index.php?name= [L]
从浏览器访问 http://localhost/foldername/page/xyz
现在您可以使用获取请求 $_GET['name'];
在 index.php 中访问name