1

我有以下网址结构:

www.mysite.com/temporary/articles.php?artid=1

我想用

www.mysite.com/temporary/articles/article-title-here.

谁能告诉我我该怎么做?

我也有两个变量的链接:

www.mysite.com/temporary/products.php?catid=1&productid=1

我正在努力做到这一点:

www.mysite.com/temporary/products.php/category-name/product-name

提前致谢。

卓然

4

1 回答 1

0

为此,您将需要某种类型的脚本,可以将文章/类别/产品名称映射到 ID。就编写此脚本而言,您是靠自己的,但它可以按照以下方式进行:

  1. 如果有一个查询字符串变量article-name,则取其值,查找数据库(或您正在使用的任何存储)并查看文章 ID 是什么,然后加载/temporary/articles.php?artid=ID,其中 ID 是给定标题的 ID。
  2. 如果有查询字符串变量product-name和/或category-name,查找数据库以查看这些名称的类别和产品 ID,然后/temporary/products.php?catid=1&productid=1使用适当的 ID 加载。
  3. 否则,请执行返回 404 之类的操作

假设您编写的这个 php 脚本位于/my-controller.php

RewriteRule ^temporary/articles/(.+)$ /my-controller.php?article-name=$1 [L]
RewriteRule ^temporary/products.php/([^/]+)/(.+) /my-controller.php?category-name=$1&product-name=$2

因此,如果有人请求http://www.mysite.com/temporary/articles/foo-article,它将被重写为/my-controller.php?article-name=foo-article并且当有人请求http://www.mysite.com/temporary/products.php/bars/foo -product,它将被重写/my-controller.php?category-name=bars&product-name=foo-product,这取决于您编写的脚本来进行必要的 ID 查找,然后将其传递给 article.php 或 products.php 脚本。

于 2012-05-19T22:42:05.087 回答