2

我有 Glassfish 3 服务器并添加了Quercus 4.0.7以便能够在其上运行 PHP 应用程序。一切都与它完美配合。现在我正在尝试在我的服务器上运行Question2Answer应用程序。我能够打开应用程序,但它不允许我从一个页面导航到另一个页面,因为他们正在使用 .htaccess 文件来重写 URL。我想知道在这种情况下我们如何重写 URL?

这是 Question2Answer 的 .htaccess 里面的内容:

DirectoryIndex index.php
RewriteEngine On
#RewriteBase /your-sub-directory
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?qa-rewrite=$0&%{QUERY_STRING} [L]

你有什么解决方案吗?

4

1 回答 1

3

使用 Tuckey UrlRewriteFilter(受mod_rewrite启发并提供类似功能)来实现重写规则。基本上,您必须:

  • 获取 Quercus 的战争并打开它
  • 下载过滤器并在 Quercus 中解压(这将把过滤器罐放在里面WEB-INF/liburlrewrite.xml下面WEB-INF)。
  • 在中声明过滤器web.xml(请参阅安装说明)。
  • 将您的重写规则“移植”到urlrewrite.xml文件中。
  • 重新打包并部署战争(或将其部署为展开的存档)。

使用 Url Rewrite Filter 在 Glassfish 上使用干净的 url发布Drupal讨论了这种方法。使其适应您的需求。

于 2010-07-10T00:12:42.860 回答