我有一个大型数据库,我想url重写。就像
www.example.com/products.php?id=111&cat=99&f=6&hjk=4545..
所以我为这段代码写了url rewrite,显示为
www.example.com/men/watches/casio/latest..
喜欢这样,它的工作正常
问题是我有一个大型数据库,几乎不可能分别编写所有url重写。
我想过使用php自动生成.htaacess
文件。那有意义吗?或者最新的解决方案..?
编辑:对于@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]
答案 0 :(得分: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,他们的网址如下所示:
^/questions/([0-9]+)/([a-zA-Z0-9-]+)$
花一些时间查看ModRewrite文档以及正则表达式。然后想想如何积极地识别您的产品(例如,您可能需要在URL中加入ID)。