将子域 url 重写为 www apache php(使用 slim 框架)
rewrite subdomain url to www apache php (using slim framework)
我在 angular 有一个网站,使用的是 api。现在我想创建自动登陆页面。
我的 api url 是这样制作的 (https://) system.mydomain.com/api - 休息 api 使用 slim 框架
现在我已经为 (https://) system.mydomain.com/content/seo-name-of-item
这样的着陆页创建了路由
这有效,但我不想在这种情况下显示 "system.mydomain.com"(所以在 URI "content" 中),但我希望它是 (https://) mydomain。com/content/seo-name-of-item or/and (https://) www.mydomain.com/content/seo-name-of-item
获得此行为的最佳方法是什么?
最优雅的可能是使用 apaches 代理模块结合重写规则。这使浏览器中的 URL 保持不变,但在内部代理其他独立 http 主机之间的请求。
在hosts中使用这样的规则www.example.com
and/or example.com
host:
RewriteEngine on
RewriteRule ^/?content/seo-name-of-item https://system.example.com/api [END,P]
语法应该适用于真正的 http 主机配置或 htaccess
样式文件。但一般提示:您应该始终更喜欢将此类规则放在 http 服务器主机配置中,而不是使用 .htaccess
样式文件。众所周知,这些文件容易出错,难以调试,而且它们确实会降低服务器速度。它们仅在您无法控制主机配置(阅读:非常便宜的托管服务提供商)或您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)的情况下作为最后的选择提供).
如果您收到内部服务器错误(http 状态 500),您可能必须用旧的 L
标志替换 END
标志。
您需要外部可见主机名的可验证 ssl 证书,因此 www.example.com
and/or example.com
。
您也可以决定在内部使用 http,用于内部代理连接,因为 ssl 加密在那里没有真正意义。
哦,显然你需要安装代理模块。
另一种方法是仅使用代理模块。查看 ProxyPass
规则的文档和示例:https://httpd.apache.org/docs/current/mod/mod_proxy.html
我在 angular 有一个网站,使用的是 api。现在我想创建自动登陆页面。
我的 api url 是这样制作的 (https://) system.mydomain.com/api - 休息 api 使用 slim 框架
现在我已经为 (https://) system.mydomain.com/content/seo-name-of-item
这样的着陆页创建了路由这有效,但我不想在这种情况下显示 "system.mydomain.com"(所以在 URI "content" 中),但我希望它是 (https://) mydomain。com/content/seo-name-of-item or/and (https://) www.mydomain.com/content/seo-name-of-item
获得此行为的最佳方法是什么?
最优雅的可能是使用 apaches 代理模块结合重写规则。这使浏览器中的 URL 保持不变,但在内部代理其他独立 http 主机之间的请求。
在hosts中使用这样的规则www.example.com
and/or example.com
host:
RewriteEngine on
RewriteRule ^/?content/seo-name-of-item https://system.example.com/api [END,P]
语法应该适用于真正的 http 主机配置或 htaccess
样式文件。但一般提示:您应该始终更喜欢将此类规则放在 http 服务器主机配置中,而不是使用 .htaccess
样式文件。众所周知,这些文件容易出错,难以调试,而且它们确实会降低服务器速度。它们仅在您无法控制主机配置(阅读:非常便宜的托管服务提供商)或您的应用程序依赖于编写自己的重写规则(这是一个明显的安全噩梦)的情况下作为最后的选择提供).
如果您收到内部服务器错误(http 状态 500),您可能必须用旧的 L
标志替换 END
标志。
您需要外部可见主机名的可验证 ssl 证书,因此 www.example.com
and/or example.com
。
您也可以决定在内部使用 http,用于内部代理连接,因为 ssl 加密在那里没有真正意义。
哦,显然你需要安装代理模块。
另一种方法是仅使用代理模块。查看 ProxyPass
规则的文档和示例:https://httpd.apache.org/docs/current/mod/mod_proxy.html