SEO友好的术语语法

时间:2013-10-28 12:31:32

标签: php jquery .htaccess

我正在编写一个脚本,它将从URL中选择一个术语,并根据该术语从我的数据库中提取正确的数据。

到目前为止,我已经在我的.htaccess文件中添加了一行代码,该文件会将我的网址重写为SEO友好格式,例如:

http://mydomain.com/catalogue/some-item-name

在实际的PHP页面上,我抓住了该变量,删除破折号

$item= str_replace('-', ' ', $_GET['item']);

并将项目与我页面上的隐藏列表相匹配,以便与jQuery进行匹配。

一切正常,除非我的项目名称实际上有一个破折号。我的脚本删除了所有破折号。我应该:

  1. 将实际短划线替换为其他内容?
  2. 找一种方法剥离一个短划线?
  3. 如果我从db中提取该术语,我可以使用 WHERE项目LIKE“%$ item%” ,但是因为我必须匹配精确的术语alredy present在我的HTML代码中,我有点卡住了。

    感谢。

1 个答案:

答案 0 :(得分:1)

我们使用一个系统,我们根据数据库检查传入的URI,并查看用户的发送位置。这样,我们就可以完全从系统内部(例如ID)中分离URI。

我们将传入的URI与数据库中的uri字段进行匹配,并从正确的类(控制器)加载正确的函数或重定向。它还可以选择向函数发送参数。

让我举例说明

+---------+---------+----------+----------+--------+
| uri     | class   | function | new_uri  | vars   |
+---------+---------+----------+----------+--------+
| faq     | support | faq      |          |        |
+---------+---------+----------+----------+--------+
| sandwich| content | news     |          | 1      |
+---------+---------+----------+----------+--------+
| banana  |         |          | sandwich |        |
+---------+---------+----------+----------+--------+

案例1: 用户请求test.com/faq,URI路由器在uri ='faq'上找到匹配项,并告诉系统在支持类或控制器显示中显示任何faq()

案例2: 用户请求test.com/sandwich,它是ID为1的新闻故事的快捷方式。因此,URI路由器向内容类中的news()发送调用,我们可以从{{{}}变量中检索id 1 {1}}。

案例3: 用户请求test.com/banana,由于我们不再在香蕉行业,因此已将其移至test.com/sandwich。因此,URI路由器礼貌地发送301并将用户重定向到正确的位置。

此方法有许多扩展方法,例如通过允许uri字段中的通配符等。希望它对你也有一些价值。