1

Glassfish v3サーバーにURL書き換えを統合するにはどうすればよいですか?

これを知りたいのは、Quercusを使用してPHPアプリケーションをGlassfishサーバーにデプロイしているためです。

ただし、QuercusはApacheサーバーに依存しmod_rewriteてURLの書き換えを提供しており、これはGlassfishでは使用できません。

4

2 に答える 2

1

ええと、2つのオプションがあります:

前者は選択肢ではないと思います(またはこの質問を投稿しないでしょう)。後者に関しては、 Url Rewrite Filterを使用して、DrupalonGlassfishで提供されているソリューションをクリーンなURLに適合させることができます。基本的に、次のことを行う必要があります。

  • Quercusの戦争を手に入れて開梱する
  • フィルタをダウンロードして、 Quercus内に解凍します(これにより、フィルタjarが内部WEB-INF/libと下部に配置さurlrewrite.xmlれますWEB-INF
  • web.xml(手順を参照)でフィルターを宣言します
  • urlrewrite.xml書き換えルールをファイルに「移植」する
  • 戦争を再パッケージ化して展開します(または展開されたアーカイブとして展開します)
于 2010-07-09T22:56:30.597 に答える
0

私はこれに対する答えを数週間探していました。JBossの次の手順に従います:http: //tapomay.blogspot.com/2011/11/clean-urls-with-drupal-urlrewritefilter.html

彼は、Tomcatでこれを行った記事にリンクしています:http ://www.brianshowalter.com/blog/running_drupal_on_quercus

簡単に言うと、要求されたファイルまたはディレクトリがシステムに存在しない場合にのみ、URLを書き換えたいと考えています。これが、UrlRewriteFilterだけでは不十分な理由です。これを確認するには、クラスフィルターをUrlRewriteFilterに追加する必要があります。

リンクした手順では、古いバージョンのUrlRewriteFilter(3.2.0)を使用していますが、おそらく新しいバージョンでも同様に機能します(3.2.0で実行しました)。

これをクラスフィルターと組み合わせて使用​​します(リンクされた記事の作成者のおかげで、https://code.google.com/p/drupalrewritefilter/にこのためのGoogleプロジェクトリポジトリがあります)

指示では、ファイルをEclipseに追加するように指示されていますが、私はNetbeansを使用しました(既存のソースで新しいプロジェクトを開始するだけです)。

ビルドのクラスパスに、servlet.api.jar(J2EEがインストールされている場合は、システム上の一部)と使用しているUrleRewriteFilter.jarファイルを追加する必要があります。

結果drupalrewritefilter.jarのファイルとUrlRewriteFilter.jar使用しているファイルをWEB-INF/libに配置します

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>

UrlRewriteFilterのWebサイトで使用するように指示されているものの代わりにこれを使用してください。

注: Quercusインストールには、サーブレットAPI2.2または2.3の最初にDOCTYPEタグが含まれています。ただし、<filter>タグはサーブレットAPI2.4以降にあります。新しいServerAPIDTDにリンクするか、(これが私が行ったことです)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を有効にします

于 2012-09-02T13:08:14.410 に答える