我有以下路径:
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=$1 [NC,L]
如果我navegate到/ cursos-de-ingles我看到了cursos-de-ingles.php的课程列表 如果我去/ cursos-de-ingles / nombre-de-curso,我会看到课程详情.php?name = nombre-de-curso以及课程信息
这就是我想要的,但现在我在/ cursos-de-ingles中有一个子类别,所以我需要一个htaccess规则来完成以下任务:
如果我去/ cursos-de-ingles / subcategory /我需要查看ingles-general.php页面,其中包含此类别的课程列表。
另外,如果我去/ cursos-de-ingles / subcategory / nombre-de-curso,我需要查看课程详情.php?name = nombre-de-curso以及课程信息
我正在尝试这样的事情:
RewriteRule ^ 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=$1&sub=$2 [NC,L]
RewriteRule ^([a-z0-9-]+)/ingles-general cp/ingles-general.php?name=$1&sub=$2 [NC,L]
RewriteRule ^([^\.]+)/([^\.]+)/([^\.]+)/$ /ingles-general.php?name=$1&sub=$2 [NC,L]
但没有任何作用。
帮助pelase
答案 0 :(得分:0)
试试这个:
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=$1 [NC,L]
RewriteRule ^cursos-de-ingles/ingles-general/([^/]+)/?$ cp/course-details.php?name=$1 [NC,L]