2017-07-11 53 views
1

这是请求:简单的URL重写工作与IIS快递,但未能在IIS上10

http://localhost:8080/!/angular/angular-loading-bar/0.9.0/loading-bar.min.css 

我希望它被改写为:

http://localhost:8080/angular/angular-loading-bar/0.9.0/loading-bar.min.css 

唯一的变化是,!在开始将被删除。

这里是我使用模式:

<system.webServer> 
    <rewrite> 
    <rules> 
     <rule name="AngularJS Routes 1" stopProcessing="true"> 
     <match url="!\/(\S+)" />   
     <action type="Rewrite" url="/{R:1}" /> 
     </rule> 
     <rule name="AngularJS Routes1" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
      <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="/" /> 
     </rule> 
    </rules> 
    </rewrite> 
</system.webServer> 

够搞怪,它的工作原理与IIS快递,但不与IIS 10,虽然URL重写模块被安装并启用。 甚至,在IIS的入站规则部分下,当我测试url时,它给了我预期的输出(去掉“!”)。但是当我运行网站时,它不起作用。在聊天

+0

我试着用你的规则与IIS 10,它对我来说工作正常。我用'!'猜测URL是404,你能否检查这个路径,如果是正确的:http://i.imgur.com/kO1S6iq.png –

+0

链接无效。请编辑 – Jude

+0

链接正在为我工​​作,它有404页的屏幕截图 –

回答

1

此基础上我们与@Jude讨论:

出于某种原因,IIS没有必须RewriteModule在IIS。

修复URL重写模块帮助:

进入控制面板 - > PROGRAMM和功能。查找URL重写并修复它