我要:
A:将所有http://网址重定向到https://
B:将我的子域分别重定向到某些文件夹,同时保持浏览器中的URL不变(屏蔽)
(我已经拥有整个域和任何子域的SSL证书)
我当前的结构大致
public_html/.htaccess [A]
public_html/sucursales/subdom1/.htaccess [B]
public_html/sucursales/subdom1/<otherfiles>
public_html/sucursales/subdom2/.htaccess [B]
public_html/sucursales/subdom2/<otherfiles>
...
我有2个不同的.htaccess文件,一个直接在public_html下[A],另一个在每个子域文件夹[B]内部(每个子文件夹具有完全相同的[B]文件)
目前,我已经设法通过包含以下内容的.htaccess文件[A]实现了A:
ErrorDocument 404 https://www.mysite.com.mx/404.htm
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我已经通过包含以下内容的.htaccess [B]实现了B:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/sucursales/
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$
RewriteCond %1 !=www
RewriteRule ^(.*)$ /sucursales/%1/$1 [L]
我根据以下答案制作了[B]文件:https://stackoverflow.com/a/7590572/1385198
问题是,如果我转到http://subdom1.mysite.com.mx
(不安全),它会显示子域文件夹的内容,并将URL保留在浏览器中(屏蔽),但不会重定向到{{ 1}}(安全),因此浏览器将其报告为不安全。
如果我手动输入https://subdom1.mysite.com.mx
,它将正确显示,保留url(掩码),并且显然显示为安全。
现在,我该怎么做才能在保留屏蔽的情况下将任何子域重定向到其https版本?
我应该修改哪个.htaccess以及如何修改。 更好的是,我可以将所有内容都放在一个.htaccess文件中吗?
我试图通过更改最后一部分来修改[B]文件 来自
https://subdom1.mysite.com.mx
到
RewriteRule ^(.*)$ /sucursales/%1/$1 [L]
但是它仍然不起作用。