2017-01-30 3 views
0

Ich habe alle www zu non www umgeleitet sowie https/ssl für meine Website aktiviert.SSL Redirect Nur für das Unterverzeichnis

Mein Ziel ist es https/ssl auf dieser Root-Ebene (nicht Sub-Domain) für die Domain/Website zu ermöglichen, aber ssl und auch umleiten, http://domain.com/shop Verkehrs zum https://domain.com/shop Unterverzeichnis/shop

Im Wesentlichen der gesamten Datenverkehr ermöglichen auf der Website sollte 301-http://domain.com und jeder Verkehr zum/shop Unterverzeichnis https://domain.com/shop

Root-Website ist Magento /shop Wordpress sollte

Hier ist, was ich für meine domain.conf in/etc haben/nginx/sites-available

server { 
    server_name www.domain.com www.domain2.com; 
    return 301 $scheme://domain.com$request_uri; 
} 
server { 
    server_name domain.com domain2.com; 
    listen 80 default_server ipv6only=on; 
    listen [::]:80; 
    listen 443 ssl; 
    listen [::]:443 ssl; 
    include  /etc/nginx/ssl.conf; 
    root /home/domain/public_html; 
    set $no_cache 0; 
    location /admin { 
     set $no_cache 1; 
    } 
    location = /favicon.ico { 
     try_files $uri =204; 
    } 
    location ~* \.(jpe?g|gif|css|png|js|ico|pdf|zip|tar|t?gz|mp3|wav|swf)$ { 
     expires max; 
    } 
    location/{ 
     index index.html index.php; 
     try_files $uri $uri/ @handler; 
     #rewrite ^/my-url.html /my-url/ permanent; 
     #rewrite ^/my-url.html http://domain.co.uk/ permanent; 
     expires 7d; 
    } 
    location /shop { 
     try_files $uri /shop/index.php; 
    } 
    location /shop/downloader { 
     # rewrite ^/shop/downloader /shop/downloader/index.php; NO 
     try_files $uri /shop/downloader/index.php; 
    } 
    location ~ ^/(app|includes|media/downloadable|pkginfo|report/config.xml|var)/ { deny all; } 
    location ~ ^/(info.php|var/export/)/ { 
     auth_basic "Restricted Access"; 
     auth_basic_user_file /etc/nginx/htpasswd; 
    } 
    location @handler { 
     rewrite//index.php; 
    } 
    location ~ .php/ { 
     rewrite ^(.*.php)/ $1 last; 
    } 
    location ~ .php$ { 
     fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
     fastcgi_index index.php; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param SCRIPT_NAME $fastcgi_script_name; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
     fastcgi_param MAGE_RUN_TYPE website; 
     fastcgi_param MAGE_RUN_CODE base; 
     fastcgi_cache phpcache; # The name of the cache key-zone to use 
      fastcgi_cache_valid 200 30m; # What to cache: 'code 200' responses, for half an hour 
      fastcgi_cache_methods GET HEAD; # What to cache: only GET and HEAD requests (ot POST) 
      add_header X-Fastcgi-Cache $upstream_cache_status; # Allow us to see if the cache was HIT, MISS, or BYPASSED inside a browser's Inspector panel 
      fastcgi_cache_bypass $no_cache; # Dont pull from the cache if true 
      fastcgi_no_cache $no_cache; # Dont save to the cache if true 
     include fastcgi_params; 
    } 
    location ~ ([^/]*)sitemap(.*)\.x(m|s)l$ { 
      ## this redirects sitemap.xml to /sitemap_index.xml 
     rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent; 
      ## this makes the XML sitemaps work 
      rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last; 
     rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last; 
     rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last; 
      ## The following lines are optional for the premium extensions 
     ## News SEO 
      rewrite ^/news-sitemap\.xml$ /index.php?sitemap=wpseo_news last; 
     ## Local SEO 
     rewrite ^/locations\.kml$ /index.php?sitemap=wpseo_local_kml last; 
     rewrite ^/geo-sitemap\.xml$ /index.php?sitemap=wpseo_local last; 
     ## Video SEO 
     rewrite ^/video-sitemap\.xsl$ /index.php?xsl=video last; 
    } 
    include  /etc/nginx/minify.conf; 
    include  /etc/nginx/scripts.conf; 
    location ~ /wp-content/cache/minify.*\.js$ { 
     types {} 
     default_type application/x-javascript; 
     expires modified 31536000s; 
     add_header Vary "Accept-Encoding"; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
    } 
    location ~ /wp-content/cache/minify.*\.css$ { 
     types {} 
     default_type text/css; 
     expires modified 31536000s; 
     add_header Vary "Accept-Encoding"; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
    } 
    location ~ /wp-content/cache/minify.*js\.gzip$ { 
     gzip off; 
     types {} 
     default_type application/x-javascript; 
     expires modified 31536000s; 
     add_header Vary "Accept-Encoding"; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
     add_header Content-Encoding gzip; 
    } 
    location ~ /wp-content/cache/minify.*css\.gzip$ { 
     gzip off; 
     types {} 
     default_type text/css; 
     expires modified 31536000s; 
     add_header Vary "Accept-Encoding"; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
     add_header Content-Encoding gzip; 
    } 
    location ~ \.(css|htc|less|js|js2|js3|js4)$ { 
     expires 31536000s; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
    } 
    location ~ \.(htm|rtf|rtx|svg|svgz|xsd|xsl|xml)$ { 
     expires 3600s; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=3600, public"; 
    } 
    location ~ \.(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|woff|xla|xls|xlsx|xlt|xlw|zip)$ { 
     expires 31536000s; 
     add_header Pragma "public"; 
     add_header Cache-Control "max-age=31536000, public"; 
    } 
    rewrite ^/wp-content/cache/minify.*/w3tc_rewrite_test$ /wp-content/plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 last; 
    set $w3tc_enc ""; 
    if ($http_accept_encoding ~ gzip) { 
     set $w3tc_enc .gzip; 
    } 
    if (-f $request_filename$w3tc_enc) { 
     rewrite (.*) $1$w3tc_enc break; 
    } 
    rewrite ^/wp-content/cache/minify/(.+/[X]+\.css)$ /wp-content/plugins/w3-total-cache/pub/minify.php?test_file=$1 last; 
    rewrite ^/wp-content/cache/minify/(.+\.(css|js))$ /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1 last; 
} 
+0

Ich denke, es ist einfacher, nur ein SSL-Zertifikat für die Domain kaufen selbst werden Verzeichnisse berücksichtigt dabei auch gemacht. Und Ihre komplette Website ist mit SSL gesichert, nur Vorteile. – Svekke

+0

Ich verstehe die Vorteile der vollständigen ssl Website, aber ich würde immer noch ssl nur für das Geschäft Unterverzeichnis. Ich habe ein SSL-Zertifikat für die Domain selbst gekauft. –

+0

Ich habe beschlossen, nach dem Lesen dieser https://nakedsecurity.sophos.com/2016/09/09/google-to-slap-warnings-on-non-https-sites/ –

Antwort

0

In .htaccess von Wordpress die folgenden Zeilen:

RewriteEngine on 
RewriteCond %{HTTPS} !=on [NC] 
RewriteCond %{REQUEST_URI} /shop/ 
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301, L] 
+0

gehen Sie für alle ssl gehen Dank , die Stammwebsite ist Wordpress, aber der Shop ist Magento. Muss ich das in WordPress htaccess und etwas anderes in den Magento-Ordner htaccess legen? –

+0

'# BEGIN Wordpress RewriteEngine On RewriteBase/ RewriteRule^index \ .php $ -! [L] RewriteCond% {REQUEST_FILENAME} -f RewriteCond% {REQUEST_FILENAME} -d RewriteRule . /index.php [L] RewriteCond% {HTTPS}! = ein [NC] RewriteCond% {REQUEST_URI}/shop/ RewriteRule^(. *) https: //% {HTTP_HOST}% {REQUEST_URI} [R = 301, L] # ENDE WordPress ' –

Verwandte Themen