我正在编写一个.htaccess规则,该规则将子域请求发送到特定的登录页面文件。我目前的规则是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.name.com$
RewriteRule ^ https://name.com/app/login [R=302,L,NE]
这正如我所期望的那样有效。我现在想在此基础上进行构建,以便保持原始url的显示。RewriteRule将继续重定向到https://name.com/app/login但仍显示https://subdomain.name.com作为网络浏览器内的URL。
这在.htaccess文件中可能吗?我找不到解决办法。
您可以使用:
RewriteCond %{HTTP_HOST} ^subdomain.name.com$
RewriteRule ^ https://name.com/app/login [P]
为了实现这一点,你需要
1( 启用apache代理模块
2( 启用VirtualHost定义中的SSLProxy引擎:
<VirtualHost subdomain.name.com:80>
...
SSLProxyEngine on
</VirtualHost>
<VirtualHost subdomain.name.com:443>
...
SSLProxyEngine on
</VirtualHost>
3( 如果证书不"可信",例如是自签名的,您可以通过添加以下内容来禁用代理的验证:
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
到上面的virtualHost定义。
参考文献
- 重定向网站,但在地址栏中保留原始url
- 禁用代理ssl验证