【问题标题】:wordpress servlet mapping not workingwordpress servlet 映射不起作用
【发布时间】:2010-06-14 14:07:15
【问题描述】:

我在带有 Quercus PHP servlet 的 Tomcat 6.0.26 虚拟主机上运行最新的 Wordpress。

它有效,除非我尝试使用永久链接。 /index.php/my-page-name 之类的 url 似乎从未命中 PHP servlet 。它收到请求资源不可用的浏览器错误。好像不匹配servlet urlmapping。

我在 web.xml 中使用标准方法

<servlet-mapping>
    <servlet-name>Quercus Servlet</servlet-name>
    <url-pattern>*.php</url-pattern>
</servlet-mapping>

当我使用上述 URL 时,Tomcat 日志中也没有显示任何内容。

有什么想法吗?

【问题讨论】:

  • 您可能缺少 servlet 类定义。你能发布整个 web.xml 吗?
  • 感谢 Futureelite 的提问。我确实找到了我在下面提到的解决方案。

标签: java php tomcat servlets quercus


【解决方案1】:

这种映射确实不适用于 pathinfo。

你有两个选择:

  1. 用前缀映射替换后缀映射。将 PHP 文件放在一个文件夹中,例如/php 并使用 /php/* 而不是 *.php

  2. 创建一个 Filter,当请求 URI 也与 *.php/* 模式匹配时,它将请求分派到所需的 Servlet

【讨论】:

  • 谢谢巴鲁斯,我花了一些时间在你的建议下玩它。最后它与 Quercus Servlet*.phpQuercus Servlet /index.php/* 有了它们,我就能够解决适用于 Wordpress 的特定问题。它不喜欢 .php/。它抱怨了。
  • 这也是另一种方式,但您仅限于index.php。对于所有其他 PHP 文件,您必须添加另一个映射。还是你只有一个?如果知道这个事实,我也建议添加另一个映射 :) 顺便说一句,使用新映射,*.php 实际上是多余的。
猜你喜欢
  • 2013-04-26
  • 2013-10-13
  • 1970-01-01
  • 2016-02-26
  • 2012-04-17
  • 1970-01-01
  • 2014-01-18
  • 1970-01-01
  • 2015-01-14
相关资源
最近更新 更多