apache - Apache重定向到其他网站
问题描述
首先,我将解释我在 cake3 中构建的两个网站在两个不同的服务器上运行的场景。我需要的是: http ://demo.com/lms - lms 是我用于代理传递的后缀。
ProxyPass /lms/ http://lms.com/
ProxyPassReverse "/lms/" " http://lms.com/"
所以重定向在热保护下工作正常。
就像我在 URL 中输入http://demo.com/lms时一样 ,LMS 站点在不更改 URL 的情况下成功打开。
但是当我点击 LMS 网站上的某个链接时,我遇到的问题是,它没有用。我在单击 /users/login 之类的链接时看到的内容。我的 URL 来自 http://demo.com/users/login这是无效的。
如果我手动附加 lms 并点击http://demo.com/lms/users/login 那么它工作正常。
那么如何在 .htaccess 文件中为每个蛋糕 URL 附加前缀,以便我的第二个站点链接在那里可用?
123456
解决方案
Apache 的 mod_proxy 并非旨在充当任意网站的代理。它没有任何重写通过它的 HTML 以编辑 URL 的功能,因此它们映射到您网站上(稍微)不同的 URL 结构。
您需要编写自己的代码来查找每个 HTTP Location 标头、可以包含 URL 的 HTML 属性、每个 CSSurl()
值、由 JavaScript 动态生成的每个 URL(JS 是非常困难的地方)并确定该值是否是相对路径(您需要保留)、绝对路径(您需要重新映射)、同一站点的绝对 URL(您需要重新映射)或另一个站点的绝对 URL(您不会t)。
这真的很难。
推荐阅读
- python - 我的 LSTM 解决方案给出了预测的平均线,但 val_loss 的损失为 0.1 * e-5
- r - 使用 blogdown 自动化站点构建
- node.js - Websocket和node.js中没有响应
- php - 使用 php curl 对 paypal api 没有响应
- redux - Redux 随机重置 reducer 的状态
- bison - 在 YACC 错误消息中打印多字符标记
- reactjs - Nextjs 和 TypeScript 中的条件渲染不起作用
- sql - 在 PostgreSQL 中使用 WHERE 子句时出现语法错误
- html - 如何删除末尾的可用空间?
- python - TF 版本:2.4.1,TypeError:“ReadFile”Op 的输入“文件名”的类型为 float32,与预期的字符串类型不匹配