Php URL自动重写
在我的博客中,我使用URL重写。帖子的真实url是domain.com/article.php?id=3,每次我发布新文章时,我都必须编辑.htaccess以自动重定向到帖子的domain.com/article/name 有没有办法用保存在我的sql数据库或帖子中的文章名自动进行重写 谢谢 编辑1: 我从一个php脚本开始,每次我发表文章时它都会修改.htaccess,但我知道从长远来看这不是一个好的解决方案 编辑2: 我将此添加到我的.htacess中:Php URL自动重写,php,html,.htaccess,Php,Html,.htaccess,在我的博客中,我使用URL重写。帖子的真实url是domain.com/article.php?id=3,每次我发布新文章时,我都必须编辑.htaccess以自动重定向到帖子的domain.com/article/name 有没有办法用保存在我的sql数据库或帖子中的文章名自动进行重写 谢谢 编辑1: 我从一个php脚本开始,每次我发表文章时它都会修改.htaccess,但我知道从长远来看这不是一个好的解决方案 编辑2: 我将此添加到我的.htacess中: 重新编写引擎打开 重写规则^arti
重新编写引擎打开
重写规则^article-([0-9]+)-(.*)$./article.php?id=$1[L]
它使页面domain.com/article.php?id=3
可以通过类似domain.com/article-3-anyStringChain的url访问
有关更多信息,请参见,没有关于您使用的框架等的更多信息,我只有一些建议:
1) 将名称也放在查询字符串中,以便可以直接基于它重写它。由于重写和QSA,它在浏览器中无论如何都不可见。
换句话说:名称应该是URL的一部分
2) 每次调用像article.php?id=3这样的URL都要执行重定向,以便在从数据库中提取名称后转到建议1)搜索“slug”和“.htaccess RewriteRule regex”您至少进行了哪些研究?在php和数据库中使用url重写框架?您使用的是像Wordpress
或Laravel
这样的框架还是CMS?在PHP中处理URL的代码是什么?Wordpress有一个,你看过了吗?即使你没有使用Wordpress,语法也适用于所有地方。啊哈,不,但我今天也遇到了同样的问题,我搜索并找到了我的老问题,所以我添加了我的解决方案,以帮助其他人,如果我能^^^我什么都不懂^^是的,我想用文章的名字重写,这是你说的吗?是的,但是你当然需要以某种方式在你的URL中获得文章的名字。最好的方法(建议1)是将其放入查询字符串中,例如从数据库中获取名称后,调用article.php?id=3&name=foobar\u article\u name
第二种方法是调用article.php?id=3,该脚本将您重定向到article.php?id=3&name=foobar\u article\u name`谢谢您的回复,我不希望用户能够看到article.php?id=3
,因此我将尝试使用php编辑页面中的链接…啊,好的,我明白了…如果这些URL根本不应该可见,那么您必须使用哈希(这会导致像article.php?ajfdsöoajwrf934afrfj934
这样的丑陋URL,用户无法/几乎无法猜到,或者…如果可能的话,手动编辑链接,至少有两篇文章同名。如果没有,您不需要id,可以直接调用article.php?name=name_of_the_post
,然后将其重写为您所需的文章结构