Glassfish v3サーバーにURL書き換えを統合するにはどうすればよいですか?
これを知りたいのは、Quercusを使用してPHPアプリケーションをGlassfishサーバーにデプロイしているためです。
ただし、QuercusはApacheサーバーに依存しmod_rewrite
てURLの書き換えを提供しており、これはGlassfishでは使用できません。
Glassfish v3サーバーにURL書き換えを統合するにはどうすればよいですか?
これを知りたいのは、Quercusを使用してPHPアプリケーションをGlassfishサーバーにデプロイしているためです。
ただし、QuercusはApacheサーバーに依存しmod_rewrite
てURLの書き換えを提供しており、これはGlassfishでは使用できません。
ええと、2つのオプションがあります:
前者は選択肢ではないと思います(またはこの質問を投稿しないでしょう)。後者に関しては、 Url Rewrite Filterを使用して、DrupalonGlassfishで提供されているソリューションをクリーンなURLに適合させることができます。基本的に、次のことを行う必要があります。
WEB-INF/lib
と下部に配置さurlrewrite.xml
れますWEB-INF
)web.xml
(手順を参照)でフィルターを宣言しますurlrewrite.xml
書き換えルールをファイルに「移植」する私はこれに対する答えを数週間探していました。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を有効にします