格式化URL

时间:2015-12-05 11:07:05

标签: php mysql url web

情景

关于这个主题的很多问题,但我仍然没有得到它。所以我道歉。
所以,你肯定是这样的网址:  Cool Urls

the second img

因为,我自学成才,这些看起来很酷的网址总是让我困惑。您会看到文章标题单词用连字符分隔。看起来很整洁。此外,您可以看到没有.php或.html(或任何其他技术使用)扩展。

问题

我也想像这样格式化我的网址...例如:要在我的博客上发帖,我使用post_id通过GET从数据库中获取帖子..当前网址结构如下所示: enter image description here

我可以将此网址格式化为这样吗?

candhblog.base.pk/article/2
// or something like this :
candhblog.base.pk/article/my-favorite-country

我已经看过很多像这样的问题以及类似"编辑.htaccess文件的解决方案"或使用" RewriteEngine"但是,我想知道它是如何工作的。如何创建您的网址以包括文章标题(对于我的示例)。我需要创建文件夹吗?请全面:)

1 个答案:

答案 0 :(得分:1)

您可以使用.htaccess将所有请求重定向到php文件,并通过php以非常简单的方式管理。 Redirect all to index.php htaccess

如果您使用这种方式,则无需根据您的网址创建任何文件夹。你必须得到这样的道路:

$path = $_GET['path'];

并通过' /'爆炸$ path并管理所有分开的部分。

出于您的目的,我建议您在URL中同时使用id和title:

candhblog.base.pk/article/2/my-favorite-country

并在单独的网址后,您可以获得帖子的ID。

虽然另一种方式是只传递URL中的标题,例如:

candhblog.base.pk/article/my-favorite-country

对于SEO和用户友好,但它需要是你的标题unique

根据我的经验,最简单和最好的方法是只保留URL中的id,以便在你的html输出中缩小和使用规范元标记,如下所示: 网址:candhblog.base.pk/article/2和meta:<link rel='canonical' href='http://candhblog.base.pk/article/my-favorite-country' />