gpt4 book ai didi

parsing - 对 .htaccess 文件进行标记

转载 作者:行者123 更新时间:2023-12-02 18:39:30 25 4
gpt4 key购买 nike

我打赌你没有预见到这一点? ;)

所以,我的一个项目要求我专门阅读 .htaccess files 并理解其中的意义。 .

可悲的是,在 Google 上搜索只会给那些试图让自己的 .htaccess 工作的人带来无限的痛苦(抱歉,无法抗拒评论)。

无论如何,我有点害怕尝试从使用它的开源项目中获取这个东西。看,在过去的几周里,我最终浪费了很多时间试图用这个策略解决我的问题,却发现我更好地阅读 RFC 和规范并构建我的东西方式。

因此,如果您了解一个库或任何执行此操作的(希望是干净的!)代码,请分享。同时,如果您了解任何有关 .htaccess 文件格式的文章,我相信它们会非常方便。谢谢。

注意:我几乎精通多种语言,可以使用任何代码库,即使最终代码将是 Delphi。我知道我要求太多,但我希望看到更少的 C++。在分享 C++ 代码之前先想想我的心理健康状况。 :)

编辑:好吧,我想我自己手动完成此操作。文件结构似乎是:

directive arg1 arg2 argN
<begin directive section>
</end directive section>
# single line comment

最佳答案

.htaccess 语法实际上与 Apache 配置本身完全相同,并且确实存在示例解析器。

如果您想自己编写,那么您的格式基本上是正确的。请记住,部分标签可以嵌套并且可以具有参数(例如 )

英文解析方法:

For each line in the file:
Strip whitespace from beginning and end of line.
If the line starts with a '#':
Parse it as a comment (or skip it)

Else, If the line starts with a '<':
If the next character is a '/', the line is a closing tag:
Seek to the next '>' to get the tag name, and pop it from the tag stack.
Else, the line is an opening tag:
Seek to the next '>' for the tag name.
If the tag, trimmed, contains whitespace:
Split on the first whitespace. The right side is params, left is the tag.
(IfModule, Location, etc use this)

Push the tag name to the tag stack.

Else, the line is a directive:
Split the line on whitespace. This is the directive and params.

只需添加报价处理即可。

关于parsing - 对 .htaccess 文件进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7112069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com