提问人:Famoustech 提问时间:6/9/2023 最后编辑:Famoustech 更新时间:6/10/2023 访问量:45
如何将动态URL转换为静态链接[duplicate]
How to convert dynamic URL to statics link [duplicate]
问:
如何转换
example.com/company?name=famoustech 到静态链接 example.com/company/famoustech from HTML 标签
例<a href="example.com/company?name=Famoustech">Famoustech</a>
一旦用户点击链接,如何将其转换为
example.com/company/famoustech
还使用 .htaccess 从数据库中获取值 example.com/company 页面
我怎样才能在PHP和MYSQLI中实现这一点
这就是我到目前为止所做的
在看起来 example.com/company/famoustech 的索引上<a href="/company/<?= $row['company']?>"><?= $row['company']?></a>
在公司页面上,但内部服务器错误为 500$company_name = $_GET['company'];
答:
0赞
9072997
6/9/2023
#1
我不得不猜测一下您的配置,但这可能不是您打算在 PHP 中做的事情(除非您已经在使用路由脚本,但我猜您不是)。
您可能正在寻找通常在文件中配置的mod_rewrite(请参阅示例 2)。.htaccess
下面是一个示例 .htaccess 文件
RewriteEngine On
RewriteRule ^company/(.*)$ ./company/index.php?name=$1
mod_rewrite使用正则表达式。此文件说,当您收到与正则表达式匹配的请求时,将请求路由到(注意:将替换为正则表达式中的第一个捕获组,将替换为第二个,以此类推)。^company/(.*)$
./company/index.php?name=$1
$1
$2
评论
0赞
Famoustech
6/9/2023
好的,但是我如何使用GET方法在页面中获取值
0赞
9072997
6/9/2023
在看到对问题的编辑后,我想我可能误解了你。你的问题是什么,你有你想要的链接吗?我不明白数据库是如何相关的。example.com/company?name=Famoustech
example.com/company/famoustech
0赞
Famoustech
6/9/2023
是的,我想使用GET方法在数据库的公司页面中获取它
1赞
M. Eriksson
6/9/2023
只需将其更改为 .这应该将请求重写为内部请求,使其可访问。RewriteRule ^company/(.*)$ ./company/index.php?name=$1
/company/foobar
/company/index.php?name=foobar
$_GET['name']
0赞
M. Eriksson
6/10/2023
旁注:只要确保在未设置状态时处理状态即可,除非您对 .否则,该路径也将转到 ,但未设置任何查询参数。/company
/company/index.php
评论
.htaccess