2017-04-25 1 views
0

TYPO3을 통해 관리되는 회사 사이트에서 일하고 있습니다. 새로운 iOS 10.3.1 업데이트 이후 갑자기 iOS 장치가 사이트를로드하지 못합니다.iOS 10.3.1에서 TYPO3 사이트를로드 할 수 없습니다.

모든 페이지가 약 1 초 동안로드되고 표시됩니다. 그런 다음 메시지 : "인터넷 연결이 끊어져 Safari에서 페이지를 열 수 없음"이 나타납니다.

문제는 TYPO3을 통해 생성 된 사이트에만 적용됩니다. 빈 HTML 페이지를 사용하거나 TYPO3 페이지의 소스 코드를 정적 페이지에 복사하면 장치가 사이트를로드 할 수 있습니다.

서버가 아파치를 실행하고 있기 때문에 .htaccess가 렌더링을 멈추었을 것으로 추측합니다. 여전히 TYPO3 표준 .htaccess를 사용하면 동작이 변경되지 않습니다.

사이트가 내 사이트가 아니기 때문에 링크를 제공 할 수 없습니다. 그러나 빈 페이지가 여전히 다른 장치에로드되지 못하기 때문에 어쨌든 많은 도움이되지 않습니다. 여기

사용 된 htaccess로 : https://pastebin.com/vDeShcbt

##### 
# 
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver 
# 
# This file includes settings for the following configuration options: 
# 
# - Compression 
# - Caching 
# - MIME types 
# - Cross Origin requests 
# - Rewriting and Access 
# - Miscellaneous 
# - PHP optimisation 
# 
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its 
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to 
# adjust the 'AllowOverride' directive in your Apache configuration file. 
# 
# IMPORTANT: You may need to change this file depending on your TYPO3 installation! 
#   Consider adding this file's content to your webserver's configuration directly for speed improvement 
# 
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess 
# 
#### 


### Begin: Compression ### 

# Compressing resource files will save bandwidth and so improve loading speed especially for users 
# with slower internet connections. TYPO3 can compress the .js and .css files for you. 
# *) Uncomment the following lines and 
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend 
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties 
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files. 

#<FilesMatch "\.js\.gzip$"> 
# AddType "text/javascript" .gzip 
#</FilesMatch> 
#<FilesMatch "\.css\.gzip$"> 
# AddType "text/css" .gzip 
#</FilesMatch> 
#AddEncoding gzip .gzip 

<IfModule mod_deflate.c> 
    # Force compression for mangled `Accept-Encoding` request headers 
    <IfModule mod_setenvif.c> 
     <IfModule mod_headers.c> 
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding 
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding 
     </IfModule> 
    </IfModule> 

    # Compress all output labeled with one of the following media types. 
    # 
    # (!) For Apache versions below version 2.3.7 you don't need to 
    # enable `mod_filter` and can remove the `<IfModule mod_filter.c>` 
    # and `</IfModule>` lines as `AddOutputFilterByType` is still in 
    # the core directives. 
    # 
    # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype 

    <IfModule mod_filter.c> 
     AddOutputFilterByType DEFLATE application/atom+xml \ 
      application/javascript \ 
      application/json \ 
      application/ld+json \ 
      application/manifest+json \ 
      application/rdf+xml \ 
      application/rss+xml \ 
      application/schema+json \ 
      application/vnd.geo+json \ 
      application/vnd.ms-fontobject \ 
      application/x-font-ttf \ 
      application/x-javascript \ 
      application/x-web-app-manifest+json \ 
      application/xhtml+xml \ 
      application/xml \ 
      font/eot \ 
      font/opentype \ 
      image/bmp \ 
      image/svg+xml \ 
      image/vnd.microsoft.icon \ 
      image/x-icon \ 
      text/cache-manifest \ 
      text/css \ 
      text/html \ 
      text/javascript \ 
      text/plain \ 
      text/vcard \ 
      text/vnd.rim.location.xloc \ 
      text/vtt \ 
      text/x-component \ 
      text/x-cross-domain-policy \ 
      text/xml 
    </IfModule> 

    <IfModule mod_mime.c> 
     AddEncoding gzip    svgz 
    </IfModule> 
</IfModule> 

### End: Compression ### 



### Begin: Browser caching of resource files ### 

# This affects Frontend and Backend and increases performance. 
<IfModule mod_expires.c> 

    ExpiresActive on 
    ExpiresDefault          "access plus 1 month" 

    ExpiresByType text/css        "access plus 1 year" 

    ExpiresByType application/json      "access plus 0 seconds" 
    ExpiresByType application/ld+json     "access plus 0 seconds" 
    ExpiresByType application/schema+json    "access plus 0 seconds" 
    ExpiresByType application/vnd.geo+json    "access plus 0 seconds" 
    ExpiresByType application/xml      "access plus 0 seconds" 
    ExpiresByType text/xml        "access plus 0 seconds" 

    ExpiresByType image/vnd.microsoft.icon    "access plus 1 week" 
    ExpiresByType image/x-icon       "access plus 1 week" 

    ExpiresByType text/x-component      "access plus 1 month" 

    ExpiresByType text/html        "access plus 0 seconds" 

    ExpiresByType application/javascript    "access plus 1 year" 
    ExpiresByType application/x-javascript    "access plus 1 year" 
    ExpiresByType text/javascript      "access plus 1 year" 

    ExpiresByType application/manifest+json    "access plus 1 week" 
    ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" 
    ExpiresByType text/cache-manifest     "access plus 0 seconds" 

    ExpiresByType audio/ogg        "access plus 1 month" 
    ExpiresByType image/bmp        "access plus 1 month" 
    ExpiresByType image/gif        "access plus 1 month" 
    ExpiresByType image/jpeg       "access plus 1 month" 
    ExpiresByType image/png        "access plus 1 month" 
    ExpiresByType image/svg+xml       "access plus 1 month" 
    ExpiresByType image/webp       "access plus 1 month" 
    ExpiresByType video/mp4        "access plus 1 month" 
    ExpiresByType video/ogg        "access plus 1 month" 
    ExpiresByType video/webm       "access plus 1 month" 

    ExpiresByType application/atom+xml     "access plus 1 hour" 
    ExpiresByType application/rdf+xml     "access plus 1 hour" 
    ExpiresByType application/rss+xml     "access plus 1 hour" 

    ExpiresByType application/vnd.ms-fontobject   "access plus 1 month" 
    ExpiresByType font/eot        "access plus 1 month" 
    ExpiresByType font/opentype       "access plus 1 month" 
    ExpiresByType application/x-font-ttf    "access plus 1 month" 
    ExpiresByType application/font-woff     "access plus 1 month" 
    ExpiresByType application/x-font-woff    "access plus 1 month" 
    ExpiresByType font/woff        "access plus 1 month" 
    ExpiresByType application/font-woff2    "access plus 1 month" 

    ExpiresByType text/x-cross-domain-policy   "access plus 1 week" 

</IfModule> 

### End: Browser caching of resource files ### 


### Begin: MIME types ### 

# Proper MIME types for all files 
<IfModule mod_mime.c> 

    # Data interchange 
    AddType application/atom+xml      atom 
    AddType application/json       json map topojson 
    AddType application/ld+json       jsonld 
    AddType application/rss+xml       rss 
    AddType application/vnd.geo+json     geojson 
    AddType application/xml        rdf xml 

    # JavaScript 
    AddType application/javascript      js 

    # Manifest files 
    AddType application/manifest+json     webmanifest 
    AddType application/x-web-app-manifest+json   webapp 
    AddType text/cache-manifest       appcache 

    # Media files 

    AddType audio/mp4         f4a f4b m4a 
    AddType audio/ogg         oga ogg opus 
    AddType image/bmp         bmp 
    AddType image/svg+xml        svg svgz 
    AddType image/webp         webp 
    AddType video/mp4         f4v f4p m4v mp4 
    AddType video/ogg         ogv 
    AddType video/webm         webm 
    AddType video/x-flv         flv 
    AddType image/x-icon        cur ico 

    # Web fonts 
    AddType application/font-woff      woff 
    AddType application/font-woff2      woff2 
    AddType application/vnd.ms-fontobject    eot 
    AddType application/x-font-ttf      ttc ttf 
    AddType font/opentype        otf 

    # Other 
    AddType application/octet-stream     safariextz 
    AddType application/x-bb-appworld     bbaw 
    AddType application/x-chrome-extension    crx 
    AddType application/x-opera-extension    oex 
    AddType application/x-xpinstall      xpi 
    AddType text/vcard         vcard vcf 
    AddType text/vnd.rim.location.xloc     xloc 
    AddType text/vtt         vtt 
    AddType text/x-component       htc 

</IfModule> 

# UTF-8 encoding 
AddDefaultCharset utf-8 
<IfModule mod_mime.c> 
    AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml 
</IfModule> 

### End: MIME types ### 



### Begin: Cross Origin ### 

# Send the CORS header for images when browsers request it. 
<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
     <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$"> 
      SetEnvIf Origin ":" IS_CORS 
      Header set Access-Control-Allow-Origin "*" env=IS_CORS 
     </FilesMatch> 
    </IfModule> 
</IfModule> 

# Allow cross-origin access to web fonts. 
<IfModule mod_headers.c> 
    <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$"> 
     Header set Access-Control-Allow-Origin "*" 
    </FilesMatch> 
</IfModule> 

### End: Cross Origin ### 



### Begin: Rewriting and Access ### 

# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri). 

<IfModule mod_rewrite.c> 

    # Enable URL rewriting 
    RewriteEngine On 

    # force www. | fwi 
    RewriteCond %{HTTP_HOST} !^$ 
    RewriteCond %{HTTP_HOST} !^www\. [NC] 
    RewriteCond %{HTTPS}s ^on(s)| 
    RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    # Store the current location in an environment variable CWD to use 
    # mod_rewrite in .htaccess files without knowing the RewriteBase 
    RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$ 
    RewriteRule ^.*$ - [E=CWD:%2] 

    # Rules to set ApplicationContext based on hostname 
    #RewriteCond %{HTTP_HOST} ^dev\.example\.com$ 
    #RewriteRule .? - [E=TYPO3_CONTEXT:Development] 
    #RewriteCond %{HTTP_HOST} ^staging\.example\.com$ 
    #RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging] 
    #RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
    #RewriteRule .? - [E=TYPO3_CONTEXT:Production] 

    # Rule for versioned static files, configured through: 
    # - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename'] 
    # - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename'] 
    # IMPORTANT: This rule has to be the very first RewriteCond in order to work! 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L] 

    # Access block for folders 
    RewriteRule _(?:recycler|temp)_/ - [F] 
    RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F] 
    RewriteRule ^(?:vendor|typo3_src|typo3temp/logs) - [F] 
    RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F] 

    # Block access to all hidden files and directories with the exception of 
    # the visible content from within the `/.well-known/` hidden directory (RFC 5785). 
    RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC] 
    RewriteCond %{SCRIPT_FILENAME} -d [OR] 
    RewriteCond %{SCRIPT_FILENAME} -f 
    RewriteRule (?:^|/)\. - [F] 

    # Stop rewrite processing, if we are in the typo3/ directory or any other known directory 
    # NOTE: Add your additional local storages here 
    RewriteRule (?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L] 

    # If the file/symlink/directory does not exist => Redirect to index.php. 
    # For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'. 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L] 

</IfModule> 

# Access block for files 
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$"> 
    # Apache < 2.3 
    <IfModule !mod_authz_core.c> 
     Order allow,deny 
     Deny from all 
     Satisfy All 
    </IfModule> 

    # Apache ≥ 2.3 
    <IfModule mod_authz_core.c> 
     Require all denied 
    </IfModule> 
</FilesMatch> 

# Block access to vcs directories 
<IfModule mod_alias.c> 
    RedirectMatch 404 /\.(?:git|svn|hg)/ 
</IfModule> 

### End: Rewriting and Access ### 



### Begin: Miscellaneous ### 

# 404 error prevention for non-existing redirected folders 
Options -MultiViews 

# Make sure that directory listings are disabled. 
<IfModule mod_autoindex.c> 
    Options -Indexes 
</IfModule> 

<IfModule mod_headers.c> 
    # Force IE to render pages in the highest available mode 
    Header set X-UA-Compatible "IE=edge" 
    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$"> 
     Header unset X-UA-Compatible 
    </FilesMatch> 

    # Reducing MIME type security risks 
    Header set X-Content-Type-Options "nosniff" 
</IfModule> 

# ETag removal 
<IfModule mod_headers.c> 
    Header unset ETag 
</IfModule> 
FileETag None 

### End: Miscellaneous ### 


# Add your own rules here. 

TL : DR - TYPO3 사이트가 iOS에서로드 할 수 없습니다 10.3.1 - TYPO3 버전 7.6.10 - 아파치 서버 - PHP 버전 5.6 .30

EDIT : 문제는 수축 모듈 인 것 같습니다. 서버는 Strato에서 호스팅됩니다.

답변

0

iOS 기기에서 페이지가로드되는 것을 방지하는 부분이 있는지 확인하려면 htaccess를 비 웁니다. TYPO3은 realURL 또는 simulatestaticdocuments와 같은 추가 기능을 제외하고는 htacces가없는 상태에서 실행됩니다.

htaccess 파일을 비우거나 이름을 변경하십시오. 시작 페이지에서 iOS 장치로 프로젝트를 방문하거나이 링크 (예 : id.com)를 통해 서브 페이지를 확인하십시오. 여기서 id는 확인할 백엔드에서 페이지 트리의 페이지 ID입니다.

캐시 및 페이지 및 장치 지우기. 중대한!

지금 페이지를 만드시겠습니까? htacces 파트를 단계별로 활성화하여 잘못된 코드를 찾습니다.

작동하지 않습니까? 글쎄, 알아내는 것이 어려울 수 있습니다. 첫 번째 단계에서 포함 된 모든 JS 및 CSS 파일을 비활성화하는 것이 좋습니다. 부스 끝에서 캐시 지우기 일 했니? CSS 및 JS 활성화 단계별로 포함되어 있습니다.

작동하지 않습니까? 구성 부분에서 TypoScript 설정을 확인하십시오. 매개 변수가 무엇인지 모르는 경우 config.x에서 모든 매개 변수를 제거하십시오. 다시 한 번 단계별로 추가하고 장치를 테스트하십시오.

희망이 있습니다.

+0

대단히 감사합니다! 이미 JS와 CSS를 하나씩 비활성화하려고 시도했지만 ID로 사이트에 연결할 수 있다는 것을 잊어 버렸습니다. 수축 모듈에 문제가있는 것 같습니다. – Sintifo

+0

@Sintifo 향후 페이지 로딩을 위해 리얼 모드 또는 페이지 리디렉션을 사용하십시오 .. – manish1706

+0

감사합니다 manish. 하지만 이미 RealURL을 사용하고 있거나 .htaccess에서 수정해야 할 사항이 있습니까? – Sintifo

0

htaccess 파일과 TYPO3에서 js와 ​​css의 gzip 압축을 활성화하면이 문제를 해결할 수 있습니다.

그냥 압축 섹션의 시작 부분에 htaccess로 파일의 설명을 따르

# *) Uncomment the following lines and 
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend 
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties 
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files. 

<FilesMatch "\.js\.gzip$"> 
    AddType "text/javascript" .gzip 
</FilesMatch> 
<FilesMatch "\.css\.gzip$"> 
    AddType "text/css" .gzip 
</FilesMatch> 
AddEncoding gzip .gzip 
관련 문제