Имам настройка за множество магазини на magento с множество домейни. Но искам само един конкретен магазин/домейн да има https и да пренасоча всички URL адреси, различни от https, за този домейн към https. Включително целия път.
Например всички URL адреси в този списък към https://www.
Изходни URL адреси: http:// webwinkel.nl/willekeurige-categorienaam www. webwinkel.nl/willekeurige-categorienaam http:// www.webwinkel.nl/willekeurige-categorienaam https:// webwinkel.nl/willekeurige-categorienaam
Целеви URL адрес: https:// www.webwinkel.nl/willekeurige-categorienaam
Използвам това за един магазин и в този случай работи перфектно.
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Но за multistore това не работи, защото ще пренасочи всеки домейн на магазин към https, но аз искам https само за един конкретен магазин.
редактиране
@itoctopus: Благодаря за отговора!
Това работи за www.webwinkel.nl. Но не и за другите домейни в същия мултистор.
Например имам www.webwinkel.nl, www.webwinkel2.nl и www.webwinkel3.nl. С вашия код всички те ще пренасочат към www.webwinkel.nl.
Това е целият ми htaccess сега:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)webwinkel.nl [NC]
RewriteRule . - [E=MAGE_RUN_TYPE:website]
RewriteCond %{HTTP_HOST} ^(.*)webwinkel.nl [NC]
RewriteRule . - [E=MAGE_RUN_CODE:webwinkel]
RewriteCond %{HTTP_HOST} ^(.*)webwinkel2.nl [NC]
RewriteRule . - [E=MAGE_RUN_TYPE:website]
RewriteCond %{HTTP_HOST} ^(.*)webwinkel2.nl [NC]
RewriteRule . - [E=MAGE_RUN_CODE:webwinkel2]
RewriteCond %{HTTP_HOST} ^(.*)webwinkel3.nl [NC]
RewriteRule . - [E=MAGE_RUN_TYPE:website]
RewriteCond %{HTTP_HOST} ^(.*)webwinkel3.nl [NC]
RewriteRule . - [E=MAGE_RUN_CODE:webwinkel3]
# First condition - redirect non-www to www for all domains
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Second condition - redirect HTTP to HTTPS for a particular domain
RewriteCond %{HTTP_HOST} ^webwinkel\.nl$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.webwinkel.nl/$1 [R=301,L]