Soy nuevo en React e intento implementar la aplicación en mi máquina local usando XAMPP. Mi problema es que cuando traté de acceder a la página web, aparece 404 No encontrado. Cuando se usa npm start , funciona correctamente.
Intenté algunos consejos de otra pregunta similar, pero aún no funciona. Este es mi index.js
<React.StrictMode> <BrowserRouter basename='/react'> <Route exact path="/" component={Home} /> </BrowserRouter> </React.StrictMode> Y puse "homepage": "http://localhost/react/" en package.json
"homepage": "http://localhost/react/", "name": "admin-dashboard-presensi", Después de eso, ejecuto npm run build y muevo la carpeta a htdocs/react
Esto es lo que puse dentro .htaccess :
Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [QSA,L]Posible Error Sincaio:
1- Agrega url a package.json antes de compilar
2- falta reiniciar el servidor XAMPP
3- asegúrese de que el nombre de compilación de la carpeta sea reaccionar, de lo contrario, cambie el nombre del directorio o cambie la base <BrowserRouter basename='/react'> y reconstruya
4- también verifique que la ruta completa del directorio sea correcta y que tenga permiso para visitarlo.
Más detalles: (Mueva el contenido de la carpeta de compilación a htdocs/react, no a la carpeta de compilación en sí => Copiado de @Phil)
Si los puntos anteriores no funcionan, puede verificar los detalles a continuación: Creo que le faltan hosts y/o configuración de host virtual:
<VirtualHost localhost:80> ServerName my-website.local ServerAlias www.my-website.local ServerAdmin webmaster@my-website.local DocumentRoot "path/to/your/build" <Directory path/to/your/build> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory> </VirtualHost> También debe agregar su nuevo dominio a los hosts: vim /etc/hosts y agregar:
127.0.0.1 my-website.localAdemás, debe asegurarse de colocar .htaccess en el directorio público antes de compilar:
Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [QSA,L] y luego agregue: "homepage": "http://www.my-website.local" , a package.json
Reconstruya de nuevo y reinicie XAMPP.
Nota: agrego un dominio de alias anidado de localhost normal, es mejor, pero puede ignorarlo.