-
Notifications
You must be signed in to change notification settings - Fork 12k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ng serve with Apache + baseUrl gives 404 for included scripts #4211
Comments
Did you tried this by adding this line of code to your index.html?
I also fixed problems like this on tomcat with |
@MTechDE Thanks for the suggestion. Unfortunately this doesn't work. I get the same error. I tried it along with the deployUrl property with same result. I also read that this may not work with URLs more than one "folder" deep. |
I fixed my issue with an answer by @Meligy on a separate issue: #4226 (comment) To summarize the steps I took:
This allows me to maintain my apache virtualhost proxies and to keep the same URL structure as is in my production environment. |
The proxy.conf.json worked for me too, thanks a lot for posting, @rscottfree |
@rscottfree But I need to do the same in prod where I cant do ng serve. Appreciate your help |
@dhamotharan19, How are you running your app in production? In my case I run |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
OS?
macOS Sierra
Versions.
angular-cli: 1.0.0-beta.26
node: 4.4.5
os: darwin x64
@angular/common: 2.4.4
@angular/compiler: 2.4.4
@angular/core: 2.4.4
@angular/forms: 2.4.4
@angular/http: 2.4.4
@angular/platform-browser: 2.4.4
@angular/platform-browser-dynamic: 2.4.4
@angular/router: 3.4.4
@angular/compiler-cli: 2.4.4
Repro steps.
Create new app with angular-cli.
Change
<base href="/">
to<base href="/myapp/">
In package.json change the
start
script to:"start": "ng serve --port 3000",
Run
npm start
The log given by the failure.
Server starts up fine:
** NG Live Development Server is running on http://localhost:3000. **
Mention any other details that might be useful.
I have an Apache virtualhost proxy that forwards
http://localhost/myapp
tohttp://localhost:3000/myapp
.When I access
http://localhost/myapp
the initial index.html loads fine but the included js files do not load -- they return 404.http://localhost/myapp
returns 200 and has the index.html as response.http://localhost/myapp/inline.bundle.js
returns 404 as well as the other bundle files.I had this same setup with an Angular 1 app before and using BrowserSync. In that case I had to configure BrowserSync to serve requests to
/myapp
from the/dist
folder with this configuration:However, I'm not sure how to do something similar with angular-cli or if it is possible. I would like to access my app from
http://localhost/myapp
. Is this setup possible with the angular-cli dev server? Can anyone point me in the right direction?Other things I tried
I tried adding in the
deployUrl
to angular-cli.json, setting it to"myapp/"
but that would make the url look likehttp://localhost/myapp/myapp/inline.bundle.js
which is not my intention (and also returns 404 for included scripts).I also tried setting up a proxy even though I don't think this is the right path since I'm already kind of doing this through Apache. This was my proxy.conf.json:
When running with the proxy I would get an error in the browser either a bad gateway error or something that said it couldn't load that path.
The text was updated successfully, but these errors were encountered: