app is working fine in node server but i am getting blank page in Apache server even though i used absolute path.
Here is the index.html code
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="/manifest.json">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<title>React App</title>
<link href="./static/css/main.0778317d.css" rel="stylesheet">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="text/javascript" src="./static/js/main.1b4d826e.js"></script>
</body>
3
Answers
I am using the react router 4. so when i used Router it create problems and not working with absolute paths. instead of Router using BrowserRouter and used basename for folder shop where i copied the build of my project.
import { BrowserRouter, Route, Switch } from 'react-router-dom';
and in package.json file "homepage": "/shop" to create paths.
I was not able to get my app using React Router v4 to work on Apache hosting, even after trying the steps mentioned by @Abdul Moiz.
I found this answer : https://stackoverflow.com/a/50657757/7867822
Basically changing
<BrowserRouter/>
to<HashRouter/>
worked for me.If the website is hosted on http://namweb.com/NamFdr
Add the Folder name "NamFdr" in the below config :
|+> Add in package.json
|+> Add Router basename config in index.js
[Or] Add Router basename config in app.js