[π Error] 리μ‘νΈ λ°°ν¬ ν μλ‘κ³ μΉ¨ μ 404 Error
λ°°ν¬νκ³ μ λ¬Έμ κ° μμ΄λ³΄μμΌλ, μλ‘κ³ μΉ¨ν λλ§λ€ 404 μλ¬κ° λ¬λ€.
λ‘컬μμλ μ μμ μΌλ‘ μλνλ κ² κ°μλ°..
κ²μν΄λ³΄λ©΄ μ¬λ¬ μ¬λλ€μ΄ ν λ²μ―€μ κ²ͺκ³ μ§λκ° μλ¬μΈ κ² κ°λ€.
π μλ¬ νμ νκΈ°
리μ‘νΈμ νΉμ±μ νμ νλ©΄ μ½κ² ν΄κ²°ν μ μλ λ¬Έμ μλ€.
μ¬μ©μκ° μ²μ μ μ ν μλ²μ μμ²ν μ index.htmlμ 보λ΄μ£Όλλ° μ΄ νμΌμλ bundle.jsλ css νμΌμ΄ μ°κ²°λμ΄ μλ€.
html νμΌμ μ½μΌλ©΄μ react-routerκ° μλλλλ° μλ² μͺ½μ΄ μλ ν΄λΌμ΄μΈνΈ μ¬μ΄λμμ μ΄λ£¨μ΄μ§λ©° λ¨μν μ£Όμλ§ λ°κΏμ£Όλ©° κ²½λ‘λ₯Ό μ‘μμ€λ€.
μ΄λ¬ν μνμμ μλ‘κ³ μΉ¨μ νκ² λλ©΄ urlμ react-routerμ κ²½λ‘λ‘ λμ΄ μκΈ° λλ¬Έμ μλ²λ μ΄λ€ κ²μ λ°νν΄λ¬λΌλ κ²μΈμ§ μ μ μμ΄μ 404 μλ¬κ° λ°μνλ κ²μ΄λ€.
π©π§ μλ¬ ν΄κ²°νκΈ°
@Controller
public class WebController implements ErrorController {
@GetMapping(value = {"", "/join","/mypage", "/login", "/shoes", "/home",
"/myShoes", "/logout", "/writeReview", "/userpage", "/error", "/shoes/**"})
public String forward() {
return "forward:/index.html";
}
}
λͺ¨λ URLμ index.htmlμΌλ‘ forwardingνλλ‘ μ€μ ν΄μ£Όμλ€.
μ΄μΈμλ nginxλ₯Ό μ΄μ©ν΄μ ν΄κ²°νλ λ°©λ²λ μλ€κ³ νλ€.
location / {
try_files $uri /index.html;
}
μ€μ λμ§ μμ κ²½λ‘μ λν κΈ°λ³Έκ°μ μ§μ νλ κ²μ΄λ€.
nginx.conf νμΌμ μμ κ°μ λ΄μ©μ μ€μ ν΄μ£Όλ©΄ λλ€.
$uri κ²½λ‘λ₯Ό μ°Ύμ§ λͺ»νλ©΄ index.htmlλ‘ λ³΄λΈλ€λ μλ―Έμ΄λ€.
λ€μμλ 리μ‘νΈμ νΉμ±μ κ΄λ ¨λ λ΄μ©μ μ 리ν΄λ΄μΌκ² λ€. .