我不知道如何命名它,经过大量研究后,我没有找到我需要的东西。希望我能很好地解释这一点!
我的 URL 结构由 处理index.php
,它获取整个 URL,分解 / 并将它们组织成一个数组,以查看将用户转发到哪里。作为一个例子在这里。
现在大多数指南的问题htaccess
是,他们给出的示例基于使用已知的查询字符串而不是预设的查询字符串,我正在获取 URL 并将其分解,因此它可以无限长。作为另一个例子,我们可以在上面添加新的子猫。
这仍然会正确转发(基本上脚本会自动接受第一项来拉模板,然后是最后一项用作文章 id 拉。中间的任何东西也可以有自己的模板,如果没有,使用显示其子类别中所有项目的通用项目)。
我正在尝试使用htaccess
之后的所有内容mysite.com/
并将其作为单个查询拉入以传递给索引。前任。(使用上述):
网址输入:www.mysite.com/?cat1/subcat1/subcat2/subcat3/subcat4/page1
查询传递给 index.php:cat1/subcat1/subcat2/subcat3/subcat4/page1
现在的目标是最终删除“?” 在mysite.com/
清理 URL 之后,它更像是mysite.com/cat1/subcat1
.
至于我的研究,我只能根据已知的查询字符串(例如?cat1=&subcat1=
)找到东西,但我需要它是动态的,因为不同的东西会有不同的深度。这是我的索引方面的用武之地,但我不知道如何htaccess
将整个查询作为一个字符串转发以进行分析。
任何帮助将不胜感激,并希望这足够清楚,可以理解。如果有任何问题,请随时提问。
提前致谢!
更新
我已经让它有点工作了。这是我现在使用的代码:
RewriteRule ([^/]+) index.php?%{REQUEST_URI}%{QUERY_STRING} [nc]
这在大多数情况下都有效,但它总是按如下方式设置数组项:
0 => 空
1 => index.php
2 =>(查询的第一部分,例如“cat1”)
我已经尝试以多种方式更改上面的代码,但我想我缺乏知识使我无法正确设置它(或多或少,数组空间 3 中的内容应该在空间 0 中,而当前的 0 /1 (empty/index.php) 应该被删除。