apache에서 react-router-dom 설정

2019. 10. 29. 18:30·React

기존 php 서비스 위에 react를 사용하여 페이지를 만들어야 하는 프로젝트가 생겼다.

react-router-dom을 사용하여 react페이지를 만들었는데 qa서버(테스트 서버)에서 history.back 또는 url로 직접 접근하면 404에러가 나오는 문제가 생겼다.

php 서비스는 apache위에 떠있었기 때문에 react-router-dom의 url을 apache에서 해석을 함으로써 생긴 문제였다.


예를 들면 react-router-dom을 통해 `/page`와 `/page/1`의 url을 router하고 해당 링크로 가게 되면 apache에서 `/page/index.html` `/page/1/index.html`을 찾기 때문에 404 error가 나타나는 것이었다.


이를 해결하기 위해서는 apache의 설정을 통해 해결을 할 수 있다.

<VirtualHost *:8080>
  ServerName example.com
  DocumentRoot /var/www/httpd/example.com

  <Directory "/var/www/httpd/폴더루트">
    ...

    RewriteEngine on
    # Don't rewrite files or directories
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    # Rewrite everything else to index.html to allow html5 state links
    RewriteRule ^ index.html [L]
  </Directory>
</VirtualHost>


react는 초입의 html파일 하나만 있기 때문에 `/page` 라는 url로 들어왔을 시에 `/`에 있는 html파일을 거치도록 해서 정상적으로 작동이 되게 하는 설정이다.


참고 : https://wkdtjsgur100.github.io/react-router-deploy/

반응형
저작자표시 (새창열림)

'React' 카테고리의 다른 글

react hooks에서 useContext(context API), useReducer로 상태관리 하기  (0) 2020.10.29
Redux에서 정의되지 않은 state를 추가 할 수 있을까  (0) 2019.11.05
react ie 11 적용하기 ( feat.polyfill )  (0) 2019.09.29
하위 태그에 클릭 이벤트 해제 - currentTarget  (0) 2019.09.02
React, webpack 및 Babel 7을 처음부터 설정하는 방법 (2019)  (0) 2019.05.24
'React' 카테고리의 다른 글
  • react hooks에서 useContext(context API), useReducer로 상태관리 하기
  • Redux에서 정의되지 않은 state를 추가 할 수 있을까
  • react ie 11 적용하기 ( feat.polyfill )
  • 하위 태그에 클릭 이벤트 해제 - currentTarget
vitnal
vitnal
4년차 프론트엔드 개발자 입니다. 이 블로그는 기록하고 싶은 내용을 저장하기 위해 사용하고 있습니다. 정제되지 않은 내용이 있을 수 있는 점 양해 부탁드립니다.
  • vitnal
    vitnal 아카이브
    vitnal
  • 전체
    오늘
    어제
    • 분류 전체보기 (153) N
      • What I Read (2) N
      • AI (4) N
      • WEB (8)
      • React (21)
      • Nextjs (17)
      • JavaScript (16)
      • React Native (5)
      • Git (15)
      • Dev Tools (23)
      • Deploy (12)
      • Tech Memo (22)
      • Retrospect (7)
  • 반응형
  • hELLO· Designed By정상우.v4.10.5
vitnal
apache에서 react-router-dom 설정
상단으로

티스토리툴바