Url rewriting 玻璃鱼滤器
如何在Glassfish v3服务器中集成URL重写 我之所以想知道这一点,是因为我正在使用Quercus将一个PHP应用程序部署到Glassfish服务器中Url rewriting 玻璃鱼滤器,url-rewriting,glassfish,glassfish-3,Url Rewriting,Glassfish,Glassfish 3,如何在Glassfish v3服务器中集成URL重写 我之所以想知道这一点,是因为我正在使用Quercus将一个PHP应用程序部署到Glassfish服务器中 但是Quercus依赖Apache服务器中的mod_rewrite来提供URL重写,而Glassfish中没有这种功能。您有两种选择: 要么使用Apache前置GlassFish实例,然后使用mod_rewrite 或者用塔奇的 我猜前者不是一个选项(或者你不会发布这个问题)。对于后者,您可以调整中给出的解决方案。基本上,您必须:
但是Quercus依赖Apache服务器中的mod_rewrite来提供URL重写,而Glassfish中没有这种功能。您有两种选择:
- 要么使用Apache前置GlassFish实例,然后使用mod_rewrite
- 或者用塔奇的
- 获取Quercus的战争并打开它
- 在Quercus中下载并解压它(这将把过滤器jar放在
中,把WEB-INF/lib
放在urlrewrite.xml
下)WEB-INF
- 在
中声明筛选器(请参阅说明)web.xml
- 将重写规则“移植”到
文件中urlrewrite.xml
- 重新打包并部署war(或将其部署为爆炸式归档)
- 要么使用Apache前置GlassFish实例,然后使用mod_rewrite
- 或者用塔奇的
- 获取Quercus的战争并打开它
- 在Quercus中下载并解压它(这将把过滤器jar放在
中,把WEB-INF/lib
放在urlrewrite.xml
下)WEB-INF
- 在
中声明筛选器(请参阅说明)web.xml
- 将重写规则“移植”到
文件中urlrewrite.xml
- 重新打包并部署war(或将其部署为爆炸式归档)
- 嗯,您有两个选择:
- 我已经寻找了几个星期的答案。
遵循JBoss的以下说明:
他链接到一篇文章,其中一篇是为Tomcat做的:
简而言之,只有当系统上不存在请求的文件或目录时,才需要重写URL。这就是为什么仅仅使用URLEwriteFilter是不够的。您必须向UrlRewriteFilter添加一个类筛选器才能对此进行检查
我链接到的指令使用了旧版本的UrlRewriteFilter(3.2.0),它可能与新版本(我是在3.2.0中完成的)一样有效
您将把它与类过滤器结合使用(由于链接文章的作者,这里有一个google项目存储库)
说明中说要将文件添加到Eclipse,但我使用了Netbeans(只需使用现有源代码启动一个新项目)
您需要将servlet.api.jar(如果安装了J2EE,则在系统中的某些位置)和您正在使用的UrleRewriteFilter.jar文件添加到构建的类路径中
将生成的
drupalrewritefilter.jar
文件和您在WEB-INF/lib中使用的UrlRewriteFilter.jar
文件放入
您的WEB-INF/WEB.xml应具有以下筛选器指令:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>TRACE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
URL重写过滤器
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
对数电平
痕迹
URL重写过滤器
/*
使用这个,而不是网站上说要使用的那个
注意:Quercus安装在Servlet API 2.2或2.3的开头包含一个DOCTYPE标记。但是
标记在Servlet API 2.4或更高版本中。除非您链接到新的服务器API DTD,或者(我就是这么做的)一起删除DOCTYPE标记,否则您的应用程序将出错
然后您应该有一个WEB-INF/urlwrite.xml,其中包含:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<class-rule class="com.brianshowalter.drupalrewrite.DrupalRule" />
</urlrewrite>
重新加载drupal应用程序,然后启用clean URL的我已经寻找了几个星期的答案。 遵循JBoss的以下说明: 他链接到一篇文章,其中一篇是为Tomcat做的: 简而言之,只有当系统上不存在请求的文件或目录时,才需要重写URL。这就是为什么仅仅使用URLEwriteFilter是不够的。您必须向UrlRewriteFilter添加一个类筛选器才能对此进行检查 我链接到的指令使用了旧版本的UrlRewriteFilter(3.2.0),它可能与新版本(我是在3.2.0中完成的)一样有效 您将把它与类过滤器结合使用(由于链接文章的作者,这里有一个google项目存储库) 说明中说要将文件添加到Eclipse,但我使用了Netbeans(只需使用现有源代码启动一个新项目) 您需要将servlet.api.jar(如果安装了J2EE,则在系统中的某些位置)和您正在使用的UrleRewriteFilter.jar文件添加到构建的类路径中 将生成的
drupalrewritefilter.jar
文件和您在WEB-INF/lib中使用的UrlRewriteFilter.jar
文件放入
您的WEB-INF/WEB.xml应具有以下筛选器指令:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>TRACE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
URL重写过滤器
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
对数电平
痕迹
URL重写过滤器
/*
使用这个,而不是网站上说要使用的那个
注意:Quercus安装在Servlet API 2.2或2.3的开头包含一个DOCTYPE标记。但是
标记在Servlet API 2.4或更高版本中。除非您链接到新的服务器API DTD,或者(我就是这么做的)一起删除DOCTYPE标记,否则您的应用程序将出错
然后您应该有一个WEB-INF/urlwrite.xml,其中包含:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<class-rule class="com.brianshowalter.drupalrewrite.DrupalRule" />
</urlrewrite>
重新加载drupal应用程序,然后启用干净URL的可能重复