안녕하세요.

 

라이믹스로 교회 홈페이지를 운영하고 있고,

워드프레스의 쇼핑몰을 운영하고 있습니다.

 

교회 홈페이지 주소는 https://dongtanms.kr/ 이고

워드프레스 쇼핑몰의 주소는 https://dongtanms.kr/shop 입니다.

 

처음에 만들때 라이믹스 설치된 폴더에 shop 폴더를 만들고 거기에 워드프레스를 설치한 상황입니다.

/var/www/html/church : 라이믹스 설치 폴더 위치

/var/www/html/church/shop/ : 워드프레스 설치 폴더 위치

 

사이트 주소에 접속해 보시면 아시겠지만, 워드프레스 쇼핑몰의 모든 링크를 접속했을때

라이믹스의 404 오류가 나타나기 시작했습니다.

 

스크린샷 2024-04-18 130126.png

 

정확한 원인은 알 수가 없는 상황입니다. 제가 뭔가를 잘못 건들였을 수 있습니다만, 도무지 생각이 나지 않습니다.

아래는 .htaccess 파일들의 내용입니다.

 

[교회 홈페이지 (라이믹스) .htaccess 파일]

RewriteEngine On

# block direct access to templates, XML schema files, config files, dotfiles, environment, etc.
RewriteCond %{REQUEST_URI} !/modules/editor/(skins|styles)/
RewriteRule ^(addons|common/tpl|files/ruleset|(m\.)?layouts|modules|plugins|themes|widgets|widgetstyles)/.+\.(html|xml)$ - [L,F]
RewriteRule ^files/(attach|config|cache)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ - [L,F]
RewriteRule ^files/(env|member_extra_info/(new_message_flags|point))/ - [L,F]
RewriteRule ^(\.git|\.ht|\.travis|codeception\.|composer\.|Gruntfile\.js|package\.json|CONTRIBUTING|COPYRIGHT|LICENSE|README) - [L,F]

# static files
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)/(addons|files|layouts|m\.layouts|modules|widgets|widgetstyles)/(.*) ./$2/$3 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)\.min\.(css|js)$ ./$1.$2 [L]

# all other short URLs
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule . index.php [L]
 

[워드프레스 쇼핑몰 .htaccess 파일]

# BEGIN WordPress
# "BEGIN WordPress"와 "END WordPress" 사이의 지시문(줄)은
# 동적으로 생성되며 워드프레스 필터를 통해서만 수정해야합니다.
# 이 표시 사이의 지시문을 변경하면 덮어쓰게 됩니다.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# END WordPress
 

 

오랜 시간동안 xetown 과 구글에서 검색하며 해결하려고 했지만

제 능력으로는 역부족인 것 같습니다. 도움이 필요합니다ㅠㅠ

혹시나 필요한 정보가 더 있다면 댓글 남겨주시면 바로 답장하도록 하겠습니다.

  • profile

    짧은주소 처리를 위해 존재하지 않는 경로를 모두 라이믹스로 전송하도록 htaccess 파일이 구성되어 있기 때문입니다. 즉 워드프레스쪽 짧은주소가 무시되는것이죠.(원래 .htaccess 파일 우선순위가 최상위 폴더부터 최하위 폴더순입니다)

    +추가로 경로 문제도 있습니다(아래댓글 참고해주세요)

    이를 해결하려면 라이믹스도 워드프레스처럼 서브폴더로 이동하시거나(즉 주소/rx 나 주소/xe 와 같이) 워드프레스를 라이믹스 폴더 밖으로 이동시켜야 합니다.(물론 해당경로엔 따로 도메인 연결시켜주셔야 접속이 되겠죠)

  • profile profile
    답변 감사합니다.
    말씀해주신대로 라이믹스 폴더 밖으로 이동시킨뒤 도메인 연결했습니다.
    이제 404 에러는 없어졌는데, 워드프레스 관리자 페이지로 접속하면
    리다이렉션 횟수가 너무 많다면서 접속이 안되는 새로운 문제가 생겼습니다.
    어떻게하면 좋을까요?
  • profile profile
    아래댓글 참고하셔서 워드프레스쪽 .htaccess도 수정해주시면 되실겁니다.
  • profile profile
    제가 아직 .htaccess 파일 보는게 어렵네요.

    제가 해본 방법으로는,
    1. 인터넷에 돌아다니는 기본 .htaccess 파일로 교체하기
    2. .htaccess 파일을 삭제하기
    두가지 방법으로 해봤는데 그대로네요.
    알려주시기 번거로우시다면,
    간단한 힌트라도 하나 주시면 열심히 공부해보겠습니다.

    [인터넷에서 찾은 .htaccess]
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
  • profile profile
    해결했습니다.
    shop.dongtanms.kr 로 이동할때 SSL 인증서를 설치하지 않아서 발생하는 문제였습니다.
    늦은 시간까지 도움 주신 이온디님께 감사드립니다.
  • profile

    워드프레스 짧은주소 규칙에서 모든 요청을 /index.php로 보내도록 되어 있는데, /index.php는 라이믹스의 index.php입니다. 워드프레스의 index.php는 /shop/index.php겠죠. (RewriteBase도 수정해야 할 수도 있습니다.)

     

    이 부분은 워드프레스에서 자동으로 생성하는 모양인데, 예전에 루트 경로에 설치하신 적이 있다면 거기에 맞추어져 있을 것 같습니다. 라이믹스는 어떤 경로에 설치하더라도 .htaccess를 수정할 필요가 없는데, 얘네들은 일을 복잡하게 하네요.

  • profile profile

    답변 감사합니다.
    .htaccess 파일 요놈이 문제였군요..
    위에 댓글과 같이 디렉토리를 옮기고 서브도메인을 적용했습니다.