我创建了一个Angular 6应用程序并部署在本地IIS中。如果我在任何页面刷新或尝试手动更改路由URL,应用程序都会转到起始页面。我的应用程序在本地工作正常,但问题仅在IIS中发生,因此,如果我在任何其他服务器上托管,也会发生相同的问题。在IIS中使用URL重写。
web.config
$(document).ready(function() {
$.ajax({
type: 'get',
url:"{{ route('users.activity') }}",
dataType: 'json',
success: function (data) {
$.each(data, function() {
$.each(this, function(index, value) {
console.log(value);
$('#activity').append('' +
'<div class="sl-item">' +
'<div class="sl-left bg-success"> <i class="ti-user"></i></div>' +
'<div class="sl-right">' +
'<div class="font-medium">' + value.causer.username + '<span class="sl-date pull-right"> ' + value.created_at + ' </span></div>' +
'<div class="desc">' + value.description + '</div>' +
'</div>' +
'</div>');
});
});
},error:function(){
console.log(data);
}
});
});
在Index.html
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="angularjs routes" 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="^/$" negate="true"/>
</conditions>
<action type="Rewrite" url="/MyApp" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
在app.module.ts
中 <base href="/MyApp/">
如何解决此问题?在此先感谢您。