我已经在iisnode中部署了node.js和angular应用程序。我看到重定向或重写不能正常工作。
例如:https://xyz/api/abc ==>可以正确提取
https://xyz/abc ==>表明您无权查看此目录或页面
我在角路由/ abc iam路由到abc组件中定义了/ abc的路由。
我已经制作了ng --prod,所有角度组件都作为静态内容保留在客户端目录下。
这是web.config,我必须以某种方式将/ abc请求定向到知道如何处理/ abc的angular。
下面是我的web.config和app.js
web.config
<configuration>
<system.web>
<customErrors mode="Off"/>
<httpCookies httpOnlyCookies="true" requireSSL="true"/>
</system.web>
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="HTTP to Prod HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
<rule name="infrc">
<match url="/*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
app.js
var app = express();
app.use(express.static(path.join(__dirname, '/client')));
app.get('/',function(req,res){
res.sendFile(path.join(__dirname, 'client/index.html'));
});