我有以下网址结构:
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
提前致谢。
卓然
答案 0 :(得分:0)
为此,您需要某种类型的脚本,可以将文章/类别/产品名称映射到ID。就编写这个脚本而言,你是独立的,但它可以像这样:
article-name
,则获取其值,查找数据库(或您正在使用的任何存储)并查看文章ID,然后加载/temporary/articles.php?artid=ID
,其中ID是给定标题的ID。product-name
和/或category-name
,请查找数据库以查看这些名称的类别和产品ID,然后使用相应的名称加载/temporary/products.php?catid=1&productid=1
的ID。假设您编写的这个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查找,然后将其传递给articles.php或products.php脚本。