2017-04-25 43 views
0

我正在通過TYPO3管理的公司站點工作。由於新的iOS 10.3.1更新突然iOS設備無法加載該網站。iOS 10.3.1無法加載TYPO3站點

所有頁面都會加載並可見約一秒。然後出現消息: 「Safari無法打開頁面,因爲互聯網連接丟失」出現。

該問題僅適用於通過TYPO3生成的網站。使用一個空的HTML頁面,甚至將TYPO3頁面的源代碼複製到一個靜態頁面使設備能夠加載該網站。

由於服務器正在運行Apache我猜測.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 - Apache服務器 - PHP 5.6版.30

編輯:問題似乎是放氣模塊。服務器託管在Strato。

回答

0

若要檢查是否避免在iOS設備中加載頁面的部分,請清空htaccess。除了像realURL或simulatestaticdocuments這樣的附加功能外,TYPO3沒有使用htacces。

清空或重命名htaccess文件。在首頁使用iOS設備訪問項目,或通過以下鏈接訪問子頁面:example.com?id=xx其中,id是您要檢查的來自後端的頁面樹中的頁面ID。

清除緩存和頁面和設備。重要!

現在工作嗎?逐步激活htacces部件以查找錯誤代碼。

不起作用?那麼,這可能是一件很難弄清的事情。我建議在第一步中停用所有包含的JS和CSS文件。清除緩存,在展位結束。工作?激活CSS和JS包括一步一步。

不起作用?在配置部分檢查您的TypoScript設置。當你不確定他們做什麼時,從config.xml中刪除所有參數。重新將它們逐步添加並測試設備。

希望它有幫助。

+0

非常感謝您!我已經嘗試了逐個停用JS和CSS,但忘記了我可以通過ID訪問網站。 這個問題似乎由放氣模塊。 – Sintifo

+0

@Sintifo請使用realurl或者頁面重定向以備日後頁面加載.. – 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