Glassfish v3 서버에서 URL 재 작성을 어떻게 통합 할 수 있습니까?Glassfish와의 UrlRewriteFilter
내가 이것을 알고 싶은 이유는 Quercus를 사용하여 Glassfish 서버에 PHP 응용 프로그램을 배포하고 있기 때문입니다.
그러나 Quercus는 Apache 서버의 mod_rewrite
에 의존하여 URL 재 작성을 제공하지만 Glassfish에서는 사용할 수 없습니다.
Glassfish v3 서버에서 URL 재 작성을 어떻게 통합 할 수 있습니까?Glassfish와의 UrlRewriteFilter
내가 이것을 알고 싶은 이유는 Quercus를 사용하여 Glassfish 서버에 PHP 응용 프로그램을 배포하고 있기 때문입니다.
그러나 Quercus는 Apache 서버의 mod_rewrite
에 의존하여 URL 재 작성을 제공하지만 Glassfish에서는 사용할 수 없습니다.
글쎄, 당신은 두 가지 옵션이 있습니다
Url Rewrite Filter 내가 전자는 옵션이 아닌 것 같다 (또는 당신은이 질문을 게시하지 않을 것입니다.) 나중에, Drupal on Glassfish with clean urls using Url Rewrite Filter에 주어진 솔루션을 적용 할 수 있습니다. 기본적으로, 당신이해야합니다 :
WEB-INF/lib
내부의 필터 항아리를 넣고 urlrewrite.xml
WEB-INF
아래 것)urlrewrite.xml
파일에web.xml
에서 필터링하고 전쟁을 배포 (또는 분해 ARCHI로 배포 ve)나는 몇 주 동안이 해답을 찾고있었습니다. 보스에 대한 다음 지침에 따라 http://tapomay.blogspot.com/2011/11/clean-urls-with-drupal-urlrewritefilter.html
그는 하나의 톰캣이를했던 기사에 대한 링크 : 간단히 말해서 http://www.brianshowalter.com/blog/running_drupal_on_quercus
, 당신이 요청 된 파일 또는 디렉토리가하지 않는 경우에만 URL을 다시 작성하려면 시스템에 존재합니다. 이것이 UrlRewriteFilter만으로는 충분하지 않은 이유입니다. 이를 확인하려면 UrlRewriteFilter에 클래스 필터를 추가해야합니다.
내가 링크 된 지침은 UrlRewriteFilter (3.2.0)의 이전 버전을 사용합니다. 새 버전 (3.2.0과 함께 사용했을 때)과 마찬가지로 잘 작동합니다.
당신은 Eclipse에 파일을 추가 할 수
지침 말 (https://code.google.com/p/drupalrewritefilter/에서 링크 된 문서의 작성자, 구글 프로젝트 저장소이 거기에있다 감사) 클래스 필터와 함께 그것을 사용합니다, 하지만 Netbeans를 사용했습니다 (기존 소스로 새 프로젝트 시작).
servlet.api.jar (J2EE가 설치되어있는 경우 시스템의 일부) 및 빌드를 위해 클래스 경로에 사용중인 UrleRewriteFilter.jar 파일을 추가해야합니다.
장소 결과 drupalrewritefilter.jar
파일 및
귀하의 WEB-INF/웹
lib에 WEB-INF /에 사용하는UrlRewriteFilter.jar
파일.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가 사용하는 웹 사이트 대신이 필터를 사용하십시오.
참고 : Quercus 설치에는 Servlet API 2.2 또는 2.3의 처음 부분에 DOCTYPE 태그가 있습니다. 그러나 <filter>
태그는 Servlet API 2.4 이상에 있습니다. 새로운 서버 API DTD에 링크하거나 (내가했던 것처럼) DOCTYPE 태그를 모두 삭제하지 않으면 앱에 오류가 발생합니다. '당신의 드루팔 응용 프로그램을 다시로드
<?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>
한 다음 신으로 글래스 피시에 재 작성 URL [깨끗한 URL이의
가능한 중복 수 있도록 이동 :
그럼 당신은있는 WEB-INF/urlwrite.xml을 가져야한다 PHP] (http://stackoverflow.com/questions/3215723/rewrite-url-on-glassfish-with-quercus-php) –