我从mysql数据库中得到一些基本结果并将其列在页面上,在页面上我添加了带变量user_id的链接:
href=\"http://localhost/TESTING/template.php?user_id=$user_id\" >click here
在template.php文件中,我将获得$ user_id并显示相关的完整数据。
问题是我不希望user_id = 249 http://localhost/TESTING/template.php?** user_id = ** 249在网址中显示我想要的内容“http://localhost/TESTING/template.php/249”。
我一直在研究这几天但没有成功,这可能吗?或者模板文件是否需要显示user_id = $ user_id才能获得变量?
=====================
要更新:我添加了代码
RewriteEngine On
RewriteBase / TESTING /
RewriteRule ^ template.php /([0-9] +)(/)?$ template.php?user_id = $ 1 [L]
将链接变量更改为href =“localhost / TESTING / template.php / {$ user_id}”>点击此处
重写现在有效,但我没有用$ user_id = $ _GET [“user_id”]获取变量;在template.php页面上
我将以下内容添加到template.php页面,以查看通过网址传递的内容:
<?php
ini_set('display_errors',1);
echo '<b>$_GET Variables</b><pre>';
var_dump( $_GET );
echo '</pre>';
?>
并得到以下回复:
$ _获取变量
array(1){ [ “USER_ID”] =&GT; string(2)“21” }
如何获取变量?
===========
现在更新有效!链接中的{$ user_id}不是{user_id} - 可能发誓我试过两种方式。
答案 0 :(得分:1)
我不想成为一个人,但是互联网上有很多手册,例如:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
通过示例解释了您需要的一切。你都尝试了些什么?所以我们可以解释什么是错的。
答案 1 :(得分:1)
请注意,mod_rewrite仅适用于Apache服务器。
RewriteEngine On
RewriteBase /TESTING/
RewriteRule ^template.php/([0-9]+)(/)?$ template.php?user_id=$1 [L]