我在我的应用程序中设置了一个子系统:
example.com/index.cfm/subsys:foo/bar
我想要做的是将子域映射到该子系统,以消除 PATH 中对子系统规范的需要
subsys.example.com/index.cfm/foo/bar
我们目前通过 IIS6 为我们的 FW1 应用程序提供服务,但可能会迁移到 Apache,因此任何一种解决方案都是可以接受的。
我在我的应用程序中设置了一个子系统:
example.com/index.cfm/subsys:foo/bar
我想要做的是将子域映射到该子系统,以消除 PATH 中对子系统规范的需要
subsys.example.com/index.cfm/foo/bar
我们目前通过 IIS6 为我们的 FW1 应用程序提供服务,但可能会迁移到 Apache,因此任何一种解决方案都是可以接受的。
使用 Apache 的mod_rewrite您可以执行以下操作:
RewriteCond %{HTTP_HOST} ^(subsys)\.example\.com
RewriteRule /index.cfm/(.*) /index.cfm/%1:$1
要使其适用于多个子域/子系统,请在括号内使用管道分隔的列表:
RewriteCond %{HTTP_HOST} ^(sub1|sub2|sub3)\.example\.com
要使其适用于任何非 www 子域,对于任何域,请使用以下条件:
RewriteCond %{HTTP_HOST} ^((?!www\.)\w+)\.
对于 IIS6,您可能需要第三方软件,例如Helicon Tech 的 ISAPI Rewrite,它支持 mod_rewrite 语法。