I have deployed application client: mydomain.com/index.html server: mydomain.com
so for server I have used Visual studio publish and for client(ng2) I have used ng build --prod and copied files under from dist folder to wwwroot(folder on azure).
It works fine but when I go and hit some specific url it donot work, like if I share you url <a class="postlink" href="http://mydomain.com/app/admin/users">http://mydomain.com/app/admin/users</a> and as you to click and navigate you will see no page coming up.
So the problem is client is deployed at mydomain.com/index.html and routing is considering mydomain.com base url. Let me know whats the quick fix to this problem as I'm unable to share url of specific page. Thanks.
(PS: This is not a merged solution where we can deploy both client and server using visual studio)
14 Answer(s)
-
0
Hi,
The angular client project contains a web.config file. Can you also copy it to azure and try again ?
-
0
Yes following web.config is already there.
<?xml version="1.0"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".json" mimeType="application/json" /> </staticContent> <rewrite> <rules> <rule name="Angular 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="^/(api)" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
-
0
Am I missing some configuration in this web.config? let me know the possible fix for this particular issue.
-
0
Hi,
Can you send your website address to <a href="mailto:[email protected]">[email protected]</a> ?
Thanks.
-
0
Hi,
I have tried same scenarion in local IIS and I got the same error. In order to deploy both server & client apps in same IIS application, you need to do below changes in your project.
- Use this web.config
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath=".\MyCompanyName.AbpZeroTemplate.Web.Host.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" /> <rewrite> <rules> <rule name="Angular Routes App" stopProcessing="true"> <match url="app/.*" /> <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="/index.html" /> </rule> <rule name="Angular Routes Account" stopProcessing="true"> <match url="account/.*" /> <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="/index.html" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
- in angular2 app's config (appconfig.json), you need to add /index.html to appBaseUrl like this.
http://mywebsite.com/index.html
This change will break some parts of app (signalr & switching linked accounts as I tested).
- To fix signalr problem, open SignalRHelper.ts and in this line
jQuery.getScript(AppConsts.appBaseUrl + '/assets/abp/abp.signalr.js');
remove "index.html" from AppConsts.appBaseUrl . You can also define another AppConsts.appBaseUrl for example AppConsts.appRawBaseUrl and set it to "http://mywebsite.com" and use it in such places.
- To fix linked account problemopen linked-account.service.ts and in this line
var targetUrl = this._appUrlService.getAppRootUrlOfTenant(result.tenancyName) + "?switchAccountToken=" + result.switchAccountToken;
remove ending / character from this._appUrlService.getAppRootUrlOfTenant(result.tenancyName).
If I can find a better routing configuration I will send you.
Thanks.
-
0
I have followed these directions but still not working for me. Is there any missing step? I have updated xml, and in my appconfig file appbaseUrl was already like example.com/index.html
-
0
Hi,
Do you have a specific error ?
-
0
There is no specific error but the problem is still persisting. Can't navigate directly to specific url.
-
0
Hi,
Can you grant us temporary access to your azure website ? So, we can check it. If you can, please send necessary inforamtion to <a href="mailto:[email protected]">[email protected]</a>.
An FTP connection will be enough.
Thanks.
-
0
My apologies for replying late, please find the associated publish profile which contains the details to login. Once we are finished with troubleshooting, will reset the publish profile We are on a critical path to deliver so your attention will be greatly appreciated!
-
0
Hi,
Did you send it via email ? If so, can you share the email address which you send from ? I couldn't find your email.
Thanks.
-
0
Email sent, from <a href="mailto:[email protected]">[email protected]</a>
-
0
Hi guys, sent through a follow up email post deployment from <a href="mailto:[email protected]">[email protected]</a>
-
0
Hi,
I think this problem is fixed via remote support.