설정 Sling Dynamic Include

설치 및 사용에 대한 비디오 안내 Apache Sling Dynamic Include with AEM Dispatcher 실행 Apache HTTP Web Server.

노트

AEM Dispatcher 최신 버전이 로컬로 설치되었는지 확인합니다.

  1. 를 다운로드하여 설치합니다. Sling Dynamic Include 번들.

  2. 구성 Sling Dynamic Include 사용 OSGi Configuration Factory at http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.

    또는 AEM 코드 베이스에 추가하려면 적절한 sling:OsgiConfig 노드 위치:

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0"
        xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
        jcr:primaryType="sling:OsgiConfig"
        include-filter.config.enabled="{Boolean}true"
        include-filter.config.path="/content"
        include-filter.config.resource-types="[my-app/components/content/highly-dynamic]"
        include-filter.config.include-type="SSI"
        include-filter.config.add_comment="{Boolean}false"
        include-filter.config.selector="nocache"
        include-filter.config.ttl=""
        include-filter.config.required_header="Server-Agent=Communique-Dispatcher"
        include-filter.config.ignoreUrlParams="[]"
        include-filter.config.rewrite="{Boolean}true"
        />
    <!--
    * include-filter.config.include-type="SSI | ESI | JSI"
    * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+)
    -->
    
  3. (선택 사항) 마지막 단계를 반복하여 편집 가능한 템플릿의 잠금(초기) 콘텐츠 을 통해 제공 SDI 또한. 추가 구성의 이유는 편집 가능한 템플릿의 잠긴 콘텐츠가 /conf 대신 /content.

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0"
        xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
        jcr:primaryType="sling:OsgiConfig"
        include-filter.config.enabled="{Boolean}true"
        include-filter.config.path="/conf"
        include-filter.config.resource-types="[my-app/components/content/highly-dynamic]"
        include-filter.config.include-type="SSI"
        include-filter.config.add_comment="{Boolean}false"
        include-filter.config.selector="nocache"
        include-filter.config.ttl=""
        include-filter.config.required_header="Server-Agent=Communique-Dispatcher"
        include-filter.config.ignoreUrlParams="[]"
        include-filter.config.rewrite="{Boolean}true"
        />
    <!--
    * include-filter.config.include-type="SSI | ESI | JSI"
    * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+)
    -->
    
  4. 업데이트 Apache HTTPD Web servers httpd.conf 파일을 사용하여 Include 모듈.

    $ sudo vi .../httpd.conf
    
    LoadModule include_module libexec/apache2/mod_include.so
    
  5. 업데이트 vhost include 지시문을 준수하기 위한 파일입니다.

    $ sudo vi .../vhosts/aem-publish.local.conf
    
    <VirtualHost *:80>
    ...
       <Directory /Library/WebServer/docroot/publish>
          ...
          # Add Includes to enable SSI Includes used by Sling Dynamic Include
          Options FollowSymLinks Includes
    
          # Required to have dispatcher-handler process includes
          ModMimeUsePathInfo On
    
          # Set includes to process .html files
          AddOutputFilter INCLUDES .html
          ...
       </Directory>
    ...
    </VirtualHost>
    
  6. dispatcher.any 구성 파일을 업데이트하여 (1) 지원 nocache 선택기와 (2) 는 TTL 지원을 활성화합니다.

    $ sudo vi .../conf/dispatcher.any
    
    /rules {
      ...
      /0009 {
        /glob "*.nocache.html*"
        /type "deny"
      }
    }
    

    후행 * 빗속에서 *.nocache.html* 위의 규칙은 결과를 초래할 수 있습니다. 하위 리소스에 대한 요청의 문제.

    /cache {
        ...
        /enableTTL "1"
    }
    
  7. 항상 다시 시작 Apache HTTP Web Server 구성 파일을 변경한 후 또는 dispatcher.any.

    $ sudo apachectl restart
    
노트

사용 중인 경우 Sling Dynamic Includes esi(Edge Side Includes)의 경우 관련 정보를 캐시하십시오 dispatcher 캐시의 응답 헤더. 가능한 헤더에는 다음이 포함됩니다.

  • "Cache-Control"
  • "컨텐츠 처리"
  • "Content-Type"
  • "만료"
  • "마지막 수정 날짜"
  • "ETag"
  • "X-Content-Type-Options"
  • "마지막 수정 날짜"

지원 자료

이 페이지에서는