Adobe Commerce 온-프레미스: URL에 스토어 코드가 없는 다중 스토어 설정
전역 www.example.com/dkURL에 스토어 코드 추가 설정을 활성화하지 않고 사용자 지정 URL 구조(예: )로 Adobe Commerce에서 새 스토어 보기를 설정할 때 콘텐츠와 테마가 예상대로 표시되지만 페이지에 404 오류 가 표시됩니다. 이 문제는 NGINX가 MAGE_RUN_TYPE 및 MAGE_RUN_CODE 지시문으로 구성된 경우에도 발생합니다.
이 문제를 해결하려면 기본 URL을 구성하고 NGINX 또는 서버 구성을 업데이트한 다음 세션 및 라우팅 동작을 확인합니다.
설명 description
환경
Adobe Commerce 온프레미스
문제/증상
- 저장소별 콘텐츠가 올바르게 로드되지만 404 오류 페이지가 발생합니다.
- NGINX가
/dk/및MAGE_RUN_TYPE을(를) 사용하여MAGE_RUN_CODE에 대한 요청을 라우팅하도록 구성되었지만 설정이 예상대로 작동하지 않습니다.
해결 방법 resolution
Url에 저장소 코드 추가 를 전역적으로 활성화하지 않고 특정 저장소 보기에 대한 사용자 지정 URL 구조를 구성하려면 다음 단계를 수행합니다.
-
스토어
>구성>일반>웹 아래의 관리 패널에서 새 스토어 보기에 대한 기본 URL을 설정합니다. 예를 들어https://www.example.com/dk/을(를) 사용합니다. -
서버 구성을 업데이트합니다.
-
NGINX: 구성이 올바른 저장소 보기로
/dk/을(를) 라우팅하는지 확인하십시오.code language-none location = /dk { return 301 /dk/; } location /dk/ { set $MAGE_RUN_TYPE store; set $MAGE_RUN_CODE dk; try_files $uri $uri/ /index.php$is_args$args; }- 대체 요소(모든 웹 서버): Magento 루트에
magento-vars.php파일을 만듭니다.
code language-none <?php $uri = explode('/', trim($_SERVER[ 'REQUEST_URI'] , '/')); $code = 'default'; $type = 'website'; // or 'store' if (isset($uri[ 0] ) && $uri[ 0] === 'dk') { $code = 'dk'; $type = 'store'; // usually 'store' for store views, 'website' for websites } $_SERVER[ 'MAGE_RUN_CODE'] = $code; $_SERVER[ 'MAGE_RUN_TYPE'] = $type;pub/index.php의 첫 번째 줄로 포함:code language-none require __DIR__ . '/../magento-vars.php'; - 대체 요소(모든 웹 서버): Magento 루트에
-
-
쿠키(예:
PHPSESSID)가 HTTP 응답에 올바르게 설정되어 있는지 확인하여 세션 데이터가 저장소와 일치하는지 확인하십시오. -
라우팅을 방해할 수 있는 추가 재작성 또는 리디렉션이 있는지 확인합니다.
-
콘텐츠가 로드되지만 404 오류가 표시되는 경우:
-
var/log의 Magento 로그와 서버 로그에서 오류 또는 잘못된 구성을 검토하십시오. -
CLI를 사용하여 캐시 지우기 및 데이터 다시 인덱싱:
code language-none bin/magento cache:clean bin/magento indexer:reindex
-
-
이러한 변경 사항을 적용한 후 덴마크 스토어 보기의 다양한 페이지에 대한 액세스를 테스트합니다.