Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为动态生成的链接进行url重写_Php_Html_.htaccess_Url - Fatal编程技术网

Php 如何为动态生成的链接进行url重写

Php 如何为动态生成的链接进行url重写,php,html,.htaccess,url,Php,Html,.htaccess,Url,我已经创建了一个动态生成的小链接。当我点击这个链接,它会创建一个像这样的URL http://localhost/store/user.php?id=12 如果我给这个网址 http://localhost/store/user/12 这将产生我想看到的相同的输出 我想做的是,如果我点击动态生成的链接 http://localhost/store/user/12 此url而不是此url http://localhost/store/user.php?id=12 我该怎么做 .htta

我已经创建了一个动态生成的小链接。当我点击这个链接,它会创建一个像这样的URL

http://localhost/store/user.php?id=12
如果我给这个网址

http://localhost/store/user/12
这将产生我想看到的相同的输出

我想做的是,如果我点击动态生成的链接

 http://localhost/store/user/12 
此url而不是此url

http://localhost/store/user.php?id=12
我该怎么做

.httaccess文件是什么

# Enable Rewriting
RewriteEngine on

# Rewrite user URLs
#   Input:  user/NAME/
#   Output: user.php?id=NAME
RewriteRule ^user/(\w+)/?$ user.php?id=$1

如果我点击索引页面上的用户链接,它仍然会生成url,我想你对此有基本的误解。htaccess代码会自动转换你的链接。事实上不会。htaccess代码(更准确地说是mod_rewrite模块代码)的作用是重新解释URL中的某些模式-我们喜欢称之为漂亮URL-它处理这些漂亮URL并在内部重写它们。问题是,你必须强迫你的链接以那种形式存在。无论是手动还是通过一些编程。我的意图是,我想生成一个这样的链接,而不是当用户点击一个动态生成的链接时,我该如何实现这一点?@markskayff你说链接是动态生成的。这意味着有什么东西在产生它们。您必须能够修改某些东西,可能是脚本代码,并使其生成新类型的链接。这一部分与.htaccess无关。您必须首先调整链接的生成方式。@MarkSkayff谢谢mark我误解了url重定向,非常感谢。
RewriteRule ^store/user/(\w+)/?$ store/user.php?id=$1