htaccess cat / subcategory显示subcategory.php页面

时间:2015-03-09 19:16:12

标签: php .htaccess mod-rewrite

我有以下路径:

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

1 个答案:

答案 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]