.htaccess重写子域保留原始url



我正在编写一个.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验证

最新更新