首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换此url中的"X“www.websitename.com/info.php?lid=X

替换此url中的"X“www.websitename.com/info.php?lid=X
EN

Stack Overflow用户
提问于 2010-09-17 20:35:30
回答 2查看 145关注 0票数 0

请帮帮忙。

我正在寻找最好的方法来替换这个网址中的"X“(数字)。

www.websitename.com/info.php?lid=x

"x“是一个数值--我想用我数据库中的"name”字段替换"X“。

mod是重写之路吗?我有多个相同格式的urls (当然最后是不同的"X“值),我希望通过将"X”替换为数据库字段"name“中的相应值来创建更友好的urls。

如果mod重写是可行的,那么有没有人可以帮助我们在htaccess中推荐代码?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-09-17 20:42:37

完全编辑:我之前的回答是基于对你想问的问题的误解。

您所要求的是创建一个友好的URL系统。这在许多教程中都有涉及--只需搜索“友好的URL”,您就会找到大量的资源。

下面是它的工作原理的总结。

要为你的站点创建友好的RewriteRule,你需要在.htaccess中这样做(不确定我的URL是否正确,因为这完全是我想不到的,所以谷歌提供了一个完整的教程来验证):

代码语言:javascript
复制
<IfModule mod_rewrite.c>  
RewriteEngine on
RewriteRule /info/(.+) /info.php?name=$1
</IfModule>

这意味着对http://www.example.com/info/foo的请求将被重写为http://www.example.com/info.php?name=foo

然后,您需要修改您的应用程序(特别是info.php文件)来处理这种新的请求格式,在这种格式中,name是在URL中提供的,而不是id

请注意,在本例中,所有名称(例如,"foo")必须是唯一的。如果数据库中的任何两个项目具有相同的名称,您就会遇到问题。考虑到这一点,您可能希望向数据库表中添加一个新字段,该字段是一个唯一的列,其中包含仅使用字母数字字符和适合在URL中使用的连字符的字符串(这种类型的字符串称为slug)。基本上,您将使用这个slug而不是id来进行数据库查询。假设您创建了一个名为“Discombobulator”的项目。当在你的应用程序中创建这个项目时,它还应该创建一个类似于“-discombobulator”的插件,并确保它是唯一的。如果您创建了第二个项目,也称为“Discombobulator",您的应用程序可能会为它生成一个类似于"the-discombobulator-2”的插件。

因此,当有人请求http://www.example.com/info/the-discombobulator-2时,mod_rewrite会将其更改为http://www.example.com/info.php?name=the-discombobulator-2,并将其交给您的应用程序。您的应用程序将获取name参数,即" the -discombobulator-2“,并在数据库的slug字段中查找该参数,然后获取匹配的记录。

票数 1
EN

Stack Overflow用户

发布于 2010-09-17 20:44:39

我想这就是你要找的:

http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3735331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档