Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
htacces cat/subcategory show subcategory.php页面_Php_.htaccess_Mod Rewrite - Fatal编程技术网

htacces cat/subcategory show subcategory.php页面

htacces cat/subcategory show subcategory.php页面,php,.htaccess,mod-rewrite,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] 如果我导

我有以下路径:

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]
如果我导航到/cursos de-ingles,我当然会看到cursos-de-ingles.php和列表 如果我转到/cursos de ingles/nombre de curso,我会看到课程详细信息。php?name=nombre de curso包含课程信息

这就是我想要的,但是现在我在/cursos de ingles中有一个子类别,所以我需要hta访问规则来完成以下任务:

如果我转到/cursos de ingles/subcategory/我需要查看ingles-general.php页面,其中当然有这个类别的列表

另外,如果我转到/cursos de ingles/subcategory/nombre de curso,我需要查看课程详细信息。php?name=nombre de curso,其中包含课程信息

我试着这样做:

重写规则^cursos de ingles/ingles general/[^/]+/?$cp/课程详细信息.php?name=$1[NC,L]

这非常好,我看到课程详细信息。php?name=nombre de curso包含正确的信息

但是当我转到/cursos de ingles/ingles general时,我会看到课程详细信息。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

尝试以下操作:

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]

您希望它如何知道/cursos de ingles/ingles general和/cursos de ingles/anythingelse之间的区别,您当前的规则将匹配这两者。你需要另一种方法来区分你的subcategory@PanamaJack谢谢你的回复,我想这是不可能的,但我需要问一下