0

在我的 Zend Framework 2 应用程序中,我有一个带有体育页面链接的城市目录:

“城市”页面 ( /catalog)

马德里链接website.tld/catalog/Madrid

柏林链接website.tld/catalog/Berlin

伦敦链接website.tld/catalog/London

“伦敦体育”页面 ( /catalog/London)

链接website.tld/catalog/London/Foo

酒吧(Bar)链接website.tld/catalog/London/Bar (Bar)

Baz - Baz链接website.tld/catalog/London/Baz - Baz

这些 URL 被转义并在我的虚拟机 (nginx) 上运行良好。但不在(Apache)服务器上。404 Error当 URL 包含方括号(例如Bar (Bar))或连字符(例如)时,我得到一个, Baz - Baz

如何解决?

(我认为,这不是 ZF2 问题。但由于我不能确定,我也用标签标记zend-framework2了这个问题。)


编辑:

我发现了这个错误。这与 Apache 无关,而是我自己的坏事。我在 ZF2 模块配置中错误地定义了路线:

'regex' => '/catalog/(?<city>[\p{L}\p{Zs}]*)/(?<sport>[\p{L}\p{Zs}]*)'`

而不是这样的

'regex' => '/catalog/(?<city>[\p{L}\p{Zs}]*)/(?<sport>[\p{L}\p{Zs}\p{P}]*)'`

(另见PCRE支持的“通用类别属性代码列表” )

4

0 回答 0