wordpress servlet 映射不起作用

发布于 2024-09-05 18:29:16 字数 464 浏览 7 评论 0原文

我在 Tomcat 6.0.26 虚拟主机上运行最新的 Wordpress,并使用 Quercus PHP servlet。

它有效,除非我尝试使用永久链接。像 /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 日志中没有显示任何内容。

有什么想法吗?

I have the latest Wordpress running on Tomcat 6.0.26 virtual host with Quercus PHP servlet.

It works, except when I try to use perm links. A url such as /index.php/my-page-name doesn't seem to ever hit the PHP servlet . It gets a browser error that request resource is not available. It's like it isn't matching the servlet urlmapping.

I'm using a standard method in the web.xml

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

I see nothing showing up either in the Tomcat logs when I use the above URL.

Any ideas please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海里的那抹蓝 2024-09-12 18:29:16

这种映射确实不能很好地与路径信息配合使用。

您有 2 个选项:

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

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

This mapping indeed doesn't work well with pathinfo's.

You have 2 options:

  1. Replace suffix-mapping by a prefix-mapping. Put PHP files in a folder, e.g. /php and use /php/* instead of *.php.

  2. Create a Filter which dispatches the request to the desired Servlet when the request URI matches the *.php/* pattern as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文