Php 如何使用.htaccess隐藏id号

Php 如何使用.htaccess隐藏id号,php,apache,Php,Apache,为了显示静态URL而不是动态URL,我为.htaccess创建了一个规则 这是动态url: www.example.com/user.php?id=410&Name=Dave&Surname=Watson 转换为静态: www.example.com/registered-user-410-Dave-Watson.html 我使用的规则是: Options +FollowSymLinks RewriteEngine On RewriteRule ^example-([^-]*

为了显示静态URL而不是动态URL,我为.htaccess创建了一个规则

这是动态url:

www.example.com/user.php?id=410&Name=Dave&Surname=Watson
转换为静态:

www.example.com/registered-user-410-Dave-Watson.html
我使用的规则是:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^example-([^-]*)-([^-]*)-([^-]*)\.html$ /user.php?id=$1&Name=$2&Surname=$3 [L]
我想要的静态URL如下所示:

www.example.com/registered-user-Dave-Watson.html
如果我使用此规则:

RewriteEngine On
RewriteRule ^example-([^-]*)-([^-]*)\.html$ /user.php?id=410&Name=$1&Surname=$2 [L]
我获得了期望的结果,但所有用户都显示了id为410的用户的信息


您能帮我找到解决方案吗?

如果您的URL是www.example.com/registered-user-Dave-Watson.html,那么这就是所有可用的信息。你不能凭空神奇地变出一些匹配的数字。如果您想要这种URL,您需要确保您的内容仅使用此URL可寻址。例如,您可以确保仅使用字符串Dave Watson就可以在数据库中找到正确的用户。

您能否解释一下,当您进行一分钟的逻辑思考时,如果您从未提供有关用户410的信息,计算机如何知道您要加载该信息?另外,您发布的示例-动态URL包含410个,静态URL包含222个。然后,您从URI中完全删除该数字,用一个静态数字替换它,并想知道所有用户如何显示user 410。我是说真的。。你根本不需要了解编程,就能看到这个问题中最明显的问题。简单地说,如果你需要的话,你不能隐藏这个数字。@N.B.我想OP是希望在幕后发生一些神奇的事情,而事实上URL仅仅是你所看到的东西而已。在我看来,常见的误解是基本解释的重复,这里到底发生了什么。