vue 프로젝트 가 아파 치 서버 에 배 치 된 문제 해결

최근 에 재 구성 되 었 습 니 다.우리 의 프로젝트 는 원래 의 jsp 모델 에서 앞 뒤 분리 로 바 뀌 었 습 니 다.전단 은 vue 로 선택 되 었 습 니 다.개발 이 끝 난 후에 첫 번 째 시간 은 테스트 를 배치 하 는 것 입 니 다.서버 에서 선택 한 것 은 Apache 입 니 다.간단 하 다 고 생각 했 던 일이 며칠 동안 우여곡절 끝 에 배 치 돼 서 야 정상적으로 방문 할 수 있 었 다.먼저 아래 와 같이 기록 하고,
프로 세 스 는 아파 치 환경 을 만 들 고 vue 프로젝트 build 이후 생 성 된 dist 파일 을'아파 치 아래'에 두 고 아파 치 를 시작 하면 정상적으로 접근 할 수 있 을 줄 알 았 는데,
전제 아래:vue 프로젝트 루트 모델:history,기본적으로 다음 문제 가 발생 하지 않 습 니 다.왜냐하면 개인 적 으로 프로젝트 경로 에\#가 있 는 것 이 너무 힘 들 기 때 문 입 니 다.
그러나 오 류 는 다음 과 같다.

정상적으로 접근 할 수 없어 404 를 신 고 했 습 니 다어차피 난 해결 이 안 됐어.
그래서 생각 을 바 꾸 어 다시 검색 해 보 니 다른 글 이 보 였 습 니 다.https://www.cnblogs.com/xyyt/p/7718867.html 마 오 새 는 조금 열 렸 습 니 다.제 정상 적 인 설정 은 다음 과 같 습 니 다.

많은 경로 의 정 보 를 없 애 려 는 것 일 뿐 다음 과 같은 변태 적 인 수정 을 시도 했다.

Apache 까지 다시 build 해 보 세 요.기적 적 인 일이 일 어 났 습 니 다.문제 없습니다.모든 것 이 정상 입 니 다.물론 제 수정 방식 도 적당 하지 않다 고 생각 합 니 다.적당 한 방법 을 찾 지 못 하면 잠시 만 이렇게 수정 할 수 있 습 니 다.모든 경 로 는 위의 수정 에 따라 정상적으로 접근 할 수 있 습 니 다.
질문
  • 경로 가 이동 할 때 mode:'history'를 사용 하여\#번 호 를 제거 하고 서버 crm 디 렉 터 리 에 넣 습 니 다.www.asa.com/crm 경로 에 따라 접근 하면 자원 문 제 를 얻 지 못 하고 페이지 가 공백 이 며 검색 문제 가 발생 합 니 다.경로 설정 파일 에 mode:'history',base:'/crm/'를 추가 합 니 다
  • 4.567917.그리고 자원 을 모두 얻 었 고 불 러 왔 지만 페이지 가 비어 서 렌 더 링 을 하지 않 았 습 니 다.(이 문 제 는 문제 1 과 같은 것 같 습 니 다.그 당시 에 기록 되 지 않 았 는데 지금 은 기억 이 흐릿 합 니 다)백 엔 드 설정 을 통 해 문 제 를 해결 하 였 습 니 다4.567917.페이지 렌 더 링 에 성공 하면 각 페이지 의 페이지 가 정상 적 이지 만 현재 페이지 에서 새로 고침 하면 404 문제 가 발생 합 니 다.index.html 파일 만 있 기 때문에 url 의 경로 가 vue-router 로 이동 하여 실제 파일 에 login.html 등 파일 이 없습니다.서버 가 이 페이지 를 찾 으 면 404 오류 가 발생 하지 않 습 니 다.따라서 백 엔 드 서버 설정 이 필요 합 니 다.404 를 모두 index.html 로 옮 겨 문 제 를 해결 해 야 합 니 다4.567917.한가 할 때 문제 가 생각 나 지 않 습 니 다.3.백 엔 드 가 어떻게 설정 되 었 는 지 스스로 한 번 실 현 했 습 니 다.mac 에서 apache 를 가 져 온 것 을 예 로 들 어 설정 합 니 다.
  • mac 에서 apache 설치 경로/private/etc/apache 2/httpd.conf 에서(apache 의 설정 파일)
  • rewrite 오픈모듈 기능,
    LoadModule rewrite_module libexec/apache2/mod_rewrite.so,앞의\#제거 하기;
    
    DocumentRoot "/users/Dev/sites"(  apache      )
    <Directory "/users/Dev/sites">
    Options Indexes FollowSymLinks Multiviews
    MultiviewsMatch Any
    AllowOverride All
    Require all granted
    </Directory>
    
    AllowOverride All 을 설정 한 것 은 apache 가.hatccess 파일 을 지원 하도록 하기 위해 서 입 니 다.
    *이 항목 루트 디 렉 터 리 에.hatccess 파일(index.html 평 급),내용 과https://router.vuejs.org/zh-cn/essentials/history-mode.html'>HTML 5 히 스토리 모드(vue-router 문서 예)와 유사 합 니 다.
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /crm/
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /crm/index.html [L]
    </IfModule>
    
    ,수정 해 야 할 두 곳,RewriteBase/crm/;
    RewriteRule./crm/index.html[L],항목 이 있 는 파일 의 파일 이름 을 추가 하려 면,
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기