据我所知,你可以使用mod重写来使网页看起来更好......
例如:
www.myblog.com/articles/read.php?article_ID=1234
为:
www.myblog.com/read/1234
使用:
RewriteRule ^([^_]*)/([^_]*)$ /articles/$1.php?article_ID=$2
现在如何向URL添加内容,而这些内容原本不属于它?
例如,如果我希望网址是文章(标题)的描述而不是数字?
我怎样才能做到这一点:
http://www.myblog.com/read/This_is_the_heading_of_a_very_interesting_article
为了检索标题,我必须使用文章ID连接到我的数据库... mod_rewrite是否有办法调用php脚本?
并且(如果可能的话)当2篇博客文章具有相同的标题时会发生什么?
后者可能是为什么这不起作用的原因 - 但是我觉得我已经多次见过它了......
我想修复可能仍然是将唯一标识符添加到网址中以避免混淆,如:
http://www.myblog.com/read/1234/This_is_the_heading_of_a_very_interesting_article
只是想知道如何实现这一点,任何建议都值得赞赏! : - )
答案 0 :(得分:1)
您必须使用PHP来创建链接。当页面加载时,您可能已经从数据库中提取了文章信息,包括ID,标题,文本等。构建链接时,您将使用数据库中的信息创建包含带标题的URL的页面。然而,重要的是身份证。这就是你如何跟踪,以便重复的标题无关紧要。
我可以使用此链接Rewrite URL to something that's not contained in the URL更改帖子的标题,但是当您转到该标题时,服务器会忽略该标题。
查看此链接,因为它可能对您有所帮助
答案 1 :(得分:0)
对于这样的事情,我倾向于使用斜杠作为分隔符,因为这往往是人们的事情 - 这意味着你可以拥有“my_title_either / or”的标题,但这通常没问题。
RewriteRule ^([^/]*)/([^/]*)$ /articles/$1.php?article_header=$2
您自己有责任使文章标题唯一。您的第二个版本具有唯一ID,
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /articles/$1.php?article_id=$2
我根本没用过3美元;如果您有唯一的ID,则不需要任何其他内容,但如果您愿意,仍然可以使用它:
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /articles/$1.php?article_id=$2&title=$3