带有子域屏蔽和https重定向的.htaccess

时间:2018-10-10 21:28:15

标签: .htaccess redirect mod-rewrite

我要:

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]

但是它仍然不起作用。

0 个答案:

没有答案