我有一个网站不使用友好的URL,我想改变这一点。到目前为止,我的链接如下所示:http://www.example.com/?l=EN&m=o36ASkkEVi
,其中l
变量包含查看语言,而m
包含查看类别(菜单)。因为菜单项的ID是唯一的,所以即使它是子菜单项目,我也没有问题。但现在我正在尝试将其更改为友好URL,因此我有以下问题:.htaccess友好的URL防止重定向
首先,菜单项的友好标题不是唯一的,因为(至少在我的项目中)可能有多个子菜单项(类别)在不同的主菜单项中具有相同的标题。例如,菜单项Camera
和Mobile Phone
都有一个名为Instructions
的子菜单。所以我的目标是最终的友好网址是http://www.example.com/EN/Mobile-Phone/Instructions
和http://www.example.com/EN/Camera/Instructions
。其次,菜单的“深度”不是预定义的。所以可能有无限的子类别(菜单)。
在过去的小型网站中,我使用的是htaccess的静态重写(每个重定向都有一个规则),但现在,文章和类别都是不可数的,我不能这样做。我想在每篇文章或菜单的创建和编辑中重写.htaccess文件,以便为每种情况制定一个规则,但是我想在某个时候会产生一个巨大的.htaccess。该解决方案合法吗?
我的问题是这样的。如何在.htaccess中制定规则,以便始终将我发送到index.php
,而不是在我编写http://www.example.com/EN/Camera/Instructions
时尝试查找网站的子文件夹,但保持URL对“可见”PHP?
我知道后我可以使用explode('/', $_SERVER['REQUEST_URI'])
,并通过从数据库中选择正确的语言和文章或菜单来实现我的目标,但我没有或无法弄清楚如何完成第一部分。
另外,是否有任何方式.htaccess可以得到我所有的项目之后http://www.example.com/
像一个数组,并将其作为变量传递给index.php
?
谢谢Petro! :)我已经尝试过了! –