Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url rewriting 玻璃鱼滤器_Url Rewriting_Glassfish_Glassfish 3 - Fatal编程技术网

Url rewriting 玻璃鱼滤器

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 或者用塔奇的 我猜前者不是一个选项(或者你不会发布这个问题)。对于后者,您可以调整中给出的解决方案。基本上,您必须:

如何在Glassfish v3服务器中集成URL重写

我之所以想知道这一点,是因为我正在使用Quercus将一个PHP应用程序部署到Glassfish服务器中


但是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的可能重复