-1

我有一个大型数据库,我想重写 url。它像是

www.example.com/products.php?id=111&cat=99&f=6&hjk=4545..

所以我写了 url rewrite 让这段代码显示为

www.example.com/men/watches/casio/latest..像那样,它的工作正常

问题是我有一个大型数据库,几乎不可能单独编写所有 url 重写。

我想到了.htaacess使用 php 自动生成文件。那有意义吗?或者什么是最好的解决方案..?

编辑:对于@ghoti

RewriteEngine On
RewriteRule ^/([^/]*)/check/([^/]*)/SubjectId/([^/]*)/UniversityId/([^/]*)/CourseId/([^/]*)\.html$ /dsh_course_subjects_topics.php?TopicId=$1&check=$2&SubjectId=$3&UniversityId=$4&CourseId=$5 [L]
4

1 回答 1

0

您需要一个重写规则来捕获您正在寻找的模式并将其传递给 php 页面。例如:

(注意,所有这些都需要在同一行)

RewriteRule 
   ^/(men|women)/([a-z]+)/([a-z-])/(latest|newest|expensive|cheapest)$ 
   /products.php?gender=$1&product=$2&brand=$3&filter=$4

这样,您可以将通用请求传递给 PHP,您可以在其中查看$_GET动态值是什么,然后提取正确的项目。

如果您查看 StackOverflow,它们的 URL 如下所示:

^/questions/([0-9]+)/([a-zA-Z0-9-]+)$

花一些时间查看 ModRewrite 文档以及正则表达式。然后考虑如何积极地识别您的产品(例如,您可能需要在 URL 中加入一个 ID)。

于 2012-08-26T19:03:59.803 回答