gpt4 book ai didi

PHP URL 重写 - 没有获取查询字符串参数

转载 作者:行者123 更新时间:2023-12-04 01:40:46 24 4
gpt4 key购买 nike

我在一个网站上工作并同时学习 PHP,所以它对我来说相对较新。我目前正在处理 URL 重写,但是,我没有得到想要的结果。

我正在尝试更改:example.com/CMS/listing?id=1进入 example.com/CMS/listing/1 .

使用 .htaccess文件保存在文件的根目录中,我有以下内容:

RewriteEngine On
RewriteBase /
RewriteRule CMS/listing/([0-9]+) CMS/listing.php?id=$1

在网站上,我有一个简单的 echo 函数,它可以获取 id 的查询字符串参数。 .当我导航到 example.com/CMS/listing?id=1函数显示 1 ,然而,当我去 example.com/CMS/listing/1它没有显示任何内容。我有什么遗漏或做错了吗?
# Get QString Param
$id = $_GET["id"];
echo $id;

脚注
.htaccess保持在根,和 listing.php位于名为 CMS 的文件夹中.

最佳答案

您似乎与 MultiViews 有冲突.您应该禁用 MultiViews在您的顶部 .htaccess文件:

Options -MultiViews

MultiViews然后在您请求时启用 /CMS/listing/1 , mod_negotiation 会将请求映射到 /CMS/listing.php (附加文件扩展名,没有任何 URL 参数)在您的 mod_rewrite 指令能够处理请求之前。 ( /1 被视为 URL 上的附加路径名信息或 PATH_INFO。)

类似 /CMS/listing?id=1 的 URL (没有文件扩展名)只有在 MultiViews 时才有效已启用。在这种情况下,查询字符串已存在于 URL 中。

关于PHP URL 重写 - 没有获取查询字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60782384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com