2016-07-15 37 views
1

基本上我看重定向如下:301通配符重定向到HTTPS,站點範圍內的,所有的請求

http://example.com 
http://www.example.com 
http://example.com/page 
http://www.example.com/page 
http://example.com/page?parameter 
http://www.example.com/page?parameter 

到其相應的同行以https。

https://www.example.com 
https://www.example.com/page 
https://www.example.com/page?parameter 

這是一個WordPress的網站,有一個緩存插件運行。 發佈在.htaccess內容下面,以防萬一,雖然我很確定我缺乏知識是這裏的問題。

重定向代​​碼本身是一個完整的混亂,所以我把它拋出。

謝謝!

# BEGIN WP Rocket v2.5 
# Use UTF-8 encoding for anything served text/plain or text/html 
AddDefaultCharset UTF-8 
# Force UTF-8 for a number of file formats 
<IfModule mod_mime.c> 
AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml 
</IfModule> 

# FileETag None is not enough for every server. 
<IfModule mod_headers.c> 
Header unset ETag 
</IfModule> 

# Since we're sending far-future expires, we don't need ETags for static content. 
# developer.yahoo.com/performance/rules.html#etags 
FileETag None 

<IfModule mod_alias.c> 
<FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$"> 
<IfModule mod_headers.c> 
Header set X-Powered-By "WP Rocket/2.5" 
Header unset Pragma 
Header append Cache-Control "public" 
Header unset Last-Modified 
</IfModule> 
</FilesMatch> 

<FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$"> 
<IfModule mod_headers.c> 
Header unset Pragma 
Header append Cache-Control "public" 
</IfModule> 
</FilesMatch> 
</IfModule> 

# Expires headers (for better cache control) 
<IfModule mod_expires.c> 
ExpiresActive on 

# Perhaps better to whitelist expires rules? Perhaps. 
ExpiresDefault       "access plus 1 month" 

# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5) 
ExpiresByType text/cache-manifest  "access plus 0 seconds" 

# Your document html 
ExpiresByType text/html     "access plus 0 seconds" 

# Data 
ExpiresByType text/xml     "access plus 0 seconds" 
ExpiresByType application/xml   "access plus 0 seconds" 
ExpiresByType application/json   "access plus 0 seconds" 

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

# Favicon (cannot be renamed) 
ExpiresByType image/x-icon    "access plus 1 week" 

# Media: images, video, audio 
ExpiresByType image/gif     "access plus 1 month" 
ExpiresByType image/png     "access plus 1 month" 
ExpiresByType image/jpeg    "access plus 1 month" 
ExpiresByType video/ogg     "access plus 1 month" 
ExpiresByType audio/ogg     "access plus 1 month" 
ExpiresByType video/mp4     "access plus 1 month" 
ExpiresByType video/webm    "access plus 1 month" 

# HTC files (css3pie) 
ExpiresByType text/x-component   "access plus 1 month" 

# Webfonts 
ExpiresByType application/x-font-ttf "access plus 1 month" 
ExpiresByType font/opentype    "access plus 1 month" 
ExpiresByType application/x-font-woff "access plus 1 month" 
ExpiresByType image/svg+xml    "access plus 1 month" 
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 

# CSS and JavaScript 
ExpiresByType text/css     "access plus 1 year" 
ExpiresByType application/javascript "access plus 1 year" 

</IfModule> 

# Gzip compression 
<IfModule mod_deflate.c> 
# Active compression 
SetOutputFilter DEFLATE 
# Force deflate for mangled 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 
# Don't compress images and other uncompressible content 
SetEnvIfNoCase Request_URI \ 
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g)$ no-gzip dont-vary 
</IfModule> 
</IfModule> 

# Compress all output labeled with one of the following MIME-types 
<IfModule mod_filter.c> 
AddOutputFilterByType DEFLATE application/atom+xml \ 
            application/javascript \ 
            application/json \ 
            application/rss+xml \ 
            application/vnd.ms-fontobject \ 
            application/x-font-ttf \ 
            application/xhtml+xml \ 
            application/xml \ 
            font/opentype \ 
            image/svg+xml \ 
            image/x-icon \ 
            text/css \ 
            text/html \ 
            text/plain \ 
            text/x-component \ 
            text/xml 
</IfModule> 
<IfModule mod_headers.c> 
Header append Vary User-Agent env=!dont-vary 
</IfModule> 
</IfModule> 

<IfModule mod_mime.c> 
AddType text/html .html_gzip 
AddEncoding gzip .html_gzip 
</IfModule> 
<IfModule mod_setenvif.c> 
SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip 
</IfModule> 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP:Accept-Encoding} gzip 
RewriteRule .* - [E=WPR_ENC:_gzip] 
RewriteCond %{REQUEST_METHOD} GET 
RewriteCond %{QUERY_STRING} ="" 
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC] 
RewriteCond %{REQUEST_URI} !^(/checkout/(.*)|/bg/%d0%bf%d0%be%d1%80%d1%8a%d1%87%d0%ba%d0%b0/(.*)|/cart/|/bg/%d0%ba%d0%be%d0%bb%d0%b8%d1%87%d0%ba%d0%b0/|/wp-json/*|.*/feed/)$ [NC] 
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC] 
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index.html%{ENV:WPR_ENC}" -f 
RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index.html%{ENV:WPR_ENC}" [L] 
</IfModule> 
# END WP Rocket 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

回答

0

您可以使用此規則僅低於RewriteEngine On線執行wwwhttps

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://www.%1%{REQUEST_URI} [R=301,L,NE] 
+1

的偉大工程。謝謝! –

相關問題