我有一个在IIS上的前端控制器设置,我需要转换为在Docker上的NGINX。
基本上在IIS上,我有一个虚拟目录/we,它Map到/var/app/we中的应用程序代码。当请求文件时,如果找不到它,它将被重写为/we/index.cfm?path_info=/{R:0}。
例如,如果用户请求http://example.com/sub1/test.cfm,则将其重写为http://example.com/index.cfm?path_info=/sub1/test.cfm。
我已经尝试了各种方法,比如在NGINX中设置虚拟目录别名,如下所示
location /we {
alias /var/app/we;
}
然后添加了一个重写规则,但我就是不能让它工作。有人能帮忙吗?
我尝试转换的IIS上的规则如下:
<rule name="Redirect the File" enabled="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(flex2gateway|jrunscripts|cfide|cfformgateway|railo-context|files|images|javascripts|miscellaneous|stylesheets|rewrite.cfm|index.cfm)" negate="true" />
</conditions>
<action type="Rewrite" url="/we/index.cfm?path_info=/{R:0}" appendQueryString="true" />
</rule>
2条答案
按热度按时间aiazj4mn1#
您可以从以下链接尝试该脚本:iis-to-nginx。
自动化脚本将IIS重写规则转换为nginx重写格式该代码将IIS重写规则转换为nginx重写格式,可以将输出导入到nginx config文件中。
deyfvvtc2#
您可以从以下链接尝试该脚本:iis-to-nginx。
自动化脚本将IIS重写规则转换为nginx重写格式该代码将IIS重写规则转换为nginx重写格式,可以将输出导入到nginx config文件中。