2013-04-12 50 views
0

我正在研究一个允许轻松浏览页面的小型系统。我遇到问题的地方是网址结构 - 我想避免在我的网址中存在不必要的参数,因为没有SEO价值。动态页面和URL

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

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

不过,我想动态创建一个结构,其中我的链接更加搜索引擎友好的,但在那里我还可以查询我的数据库为适当的页面。

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

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”查询“my-first-page”?

我知道$ _GET函数允许我从类似于“http://www.example.com/pages.php?id=3”的链接获取页面标识(在情况3中),但是就我目前的知识而言,这是相当长的。

有人能指引我进入适当的方向吗?

谢谢!

+0

可能重复的[Apache Rewrite CLEAN url?](http://stackoverflow.com/questions/14176618/apache-rewrite-clean-url) – Jakub

+0

根据您的服务器查找mod_rewrite或IIS重写模块。 – Yellowledbet

回答

0

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

实际上,您仍然可以使用$_GET,但使用RewriteRule时,您可以根据需要扩展该功能并使其更加便于用户使用。

+0

谢谢,我会研究这个。没有看到正确的地方,难怪我无法让它工作! – davewoodhall

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

0

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