.htaccess - .htaccess 重写子域保留原始 url
问题描述
我正在编写一个 .htaccess 规则,它将子域请求发送到特定的登录页面文件。我目前的规则是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.name.com$
RewriteRule ^ https://name.com/app/login [R=302,L,NE]
这如我所料。我现在想以此为基础,以保持显示原始网址。RewriteRule 将继续重定向到https://name.com/app/login,但仍将https://subdomain.name.com显示为 Web 浏览器中的 URL。
这可能在 .htacess 文件中吗?我找不到解决方案。
解决方案
你可以使用:
RewriteCond %{HTTP_HOST} ^subdomain.name.com$
RewriteRule ^ https://name.com/app/login [P]
为此,您需要
1)启用apache代理模块
2)在VirtualHost 定义中启用SSLProxyEngine:
<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 定义。
参考
推荐阅读
- python - 参考高级目录
- c++ - 如何在openmp中使用并行化两个独立的for循环?
- javascript - 检查字符串中连续的两个整数
- php - 多个有界上下文中的实体标识符
- entity-framework - 使用 EF Core 的类似 Dapper 的多查询
- reactjs - 更改 material-ui 开关 onChange 的检查状态
- excel - 简单 IF 语句的公式错误
- python - 另一个没有名为 *** 的模块,带有 pytest
- android - 已经为您的设备安装了最佳驱动程序:安装 Android 设备 USB 驱动程序
- r - R:将自定义图例添加到 ggplot