动态页面和URL

时间:2013-04-12 15:24:58

标签: php mysql database content-management-system

我正在开发一个小型系统,可以轻松浏览页面。我遇到问题的地方是URL结构 - 我希望避免在我的URL中有不必要的参数而没有SEO值。

到目前为止,我一直在使用像这样的页面结构:

http://www.example.com/pages.php?id=3

但是,我想动态创建一个结构,其中我的链接更加SEO友好,但我仍然可以在我的数据库中查询相应的页面。

截至目前,这是我的(简化)页面结构:

id | url            | title
-------------------------------------
1  | my-first-page  | My first page
2  | my-second-page | My second page
3  | my-third-page  | My third page

等等。

有没有办法从“http://example.com/my-first-page”查询“我的第一页”?

我知道$ _GET函数允许我从类似于“http://www.example.com/pages.php?id=3”的链接获取页面ID(在案例3中),但这是我目前的知识所延伸的。

有人能指出我的方向吗?

谢谢!

3 个答案:

答案 0 :(得分:0)

看看 htAccess 结构(Apache的教程是here)。

实际上,您仍然可以使用$_GET,但是,使用RewriteRule,您可以扩展此功能,并根据需要使用户更友好。

答案 1 :(得分:0)

你的.htaccess

中有类似的东西
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ pages.php?id=$1 [QSA,L]

然后,如果您的链接是pages.php / 1,它将等同于pages.php?id = 1

答案 2 :(得分:0)

我很确定WordPress的做法是,它使用.htaccess将所有流量重定向到单个URL(路由器),然后查看$_SERVER["REQUEST_URI"]并加载用户的正确页面请求。