我有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]
你有什么解决方案吗?
答案 0 :(得分:3)
使用Tuckey的UrlRewriteFilter
(灵感来自mod_rewrite并提供类似的功能)来实现重写规则。基本上,你必须:
WEB-INF/lib
内,将urlrewrite.xml
放在WEB-INF
下。web.xml
中声明过滤器(请参阅install instructions)。urlrewrite.xml
文件。帖子Drupal on Glassfish with clean urls using Url Rewrite Filter讨论了这种方法。根据您的需求进行调整。