htaccess cat/subcategory 显示 subcategory.php 页面

htacces cat/subcategory show subcategory.php page

我有以下路径:

Root
--cp
----cursos-de-ingles.php
----ingles-general.php
----course-details.php

我有以下 htacces 规则:

RewriteRule ^cursos-de-ingles  cp/cursos-de-ingles.php [NC,L]
RewriteRule ^cursos-de-ingles/([^/]+)/?$ cp/course-details.php?name= [NC,L]

如果我导航到 /cursos-de-ingles,我会看到带有当然列表的 cursos-de-ingles.php 如果我去 /cursos-de-ingles/nombre-de-curso 我会看到 course-details.php?name=nombre-de-curso 和课程的信息

这就是我想要的,但现在我在 /cursos-de-ingles 中有一个子类别,所以我需要一个 htaccess 规则来完成以下操作:

如果我转到 /cursos-de-ingles/subcategory/,我需要查看 ingles-general.php 页面,其中包含该类别的课程列表。

此外,如果我去 /cursos-de-ingles/subcategory/nombre-de-curso,我需要查看课程-details.php?name=nombre-de-curso 以及课程信息

我正在尝试这样的事情:

重写规则 ^cursos-de-ingles/ingles-general/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]

这很完美我看到 course-details.php?name=nombre-de-curso 有正确的信息。

但是当我去 /cursos-de-ingles/ingles-general 时,我看到 course-details.php?name=ingles-general 没有信息,因为 "ingles-general" 不是课程名称是子类别它应该向我展示 ingles-general.php 页面。

这就是我正在尝试的:

RewriteRule ^cursos-de-ingles/ingles-general  cp/ingles-general.php [NC,L]
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+) cp/ingles-general.php?name=&sub= [NC,L]
RewriteRule ^([a-z0-9-]+)/ingles-general cp/ingles-general.php?name=&sub= [NC,L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/$ /ingles-general.php?name=&sub= [NC,L]

但没有任何效果。

帮忙解决问题

试试这个:

RewriteRule ^cursos-de-ingles  cp/cursos-de-ingles.php [NC,L]
RewriteRule ^cursos-de-ingles/ingles-general  cp/ingles-general.php [NC,L]

RewriteRule ^cursos-de-ingles/(?!ingles-general)([^/]+)/?$ cp/course-details.php?name= [NC,L]
RewriteRule ^cursos-de-ingles/ingles-general/([^/]+)/?$ cp/course-details.php?name= [NC,L]