아파치 환경에서 NginX 환경으로 이전을 하는 중인데요
1. 퍼머링크가 www.사이트명.com/news/로 생성되어 있는데요 "/홈디렉토리/news/" 와 같이 실제로 디렉토리가 존재하고 있습니다.
2. 현재 정적 페이지들이 "/홈디렉토리/" 에 있구요
워드 프레스가 "/홈디렉토리/wp/" 밑에 존재하고 있습니다
3. 워드프레스에서 퍼머링크를 생성했습니다.
그런데 기존의 아파치에서는 실제 디렉토리가 존재하더라도 퍼머링크의 주소를 참조하여 보여주는 데
NginX는 실제 디렉토리와 퍼머링크 주소가 중복되면 실제 디렉토리를 띄워줍니다.
4. 워드 프레스의 퍼머링크 관련 셋팅은 아래와 같이 해주었구요
try_files $uri $uri/ /index.php?$args;
이렇게 했을 때 다른 퍼머링크는 문제 없이 작동되고 있는데요
디렉토리명이 중복되는 것만 위에와 같은 문제가 발생하고 있습니다.
5. 퍼머링크의 이름을 변경하거나 실제 디렉토리의 이름을 변경하면 문제 없이 작동이 됩니다.
디렉토리명을 변경하면 되지만 디렉토리의 수와 정적파일에 하드코딩된 참조주소가 너무 많아서
디렉토리명을 변경하는 것은 불가능합니다.
구글에 검색을 해봐도 퍼머링크에 대한 셋팅은 "try_files $uri $uri/ /index.php?$args;" 가 거의 전부여서 저런 예외상황에 대한 내용이 너무 없네요..ㅜ.ㅠ
->
try_files ´Â $uri $uri/ ¿¡ ÇØ´çÇÏ´Â ÆÄÀÏ/µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì¿¡¸¸, index.php?$args ·Î rewrite ÇÕ´Ï´Ù.
µû¶ó¼ µð·ºÅ丮 Á¸Àç ¿©ºÎ¸¦ üũÇÏÁö ¾ÊÀ¸·Á¸é, ¾Æ·¡Ã³·³ ¸ðµç ÁÖ¼Ò¿¡ ´ëÇØ rewrte ÇÏ¸é µË´Ï´Ù.
rewrite ^(.*)$ /index.php?$args break;
±×·¯³ª js, img ÆÄÀϱîÁö index.php ·Î rewrite ÇÏ¸é ¾ÈµÉÅ×´Ï,
´ÙÀ½Ã³·³ 'ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì¸¸ ¸ðµÎ rewrite' ÇÏ¸é µÇÁö ¾ÊÀ»±î¿ä?
if (!-f $request_filename){
rewrite ^(.*)$ /index.php?$args break;
}
´äº¯ °¨»çÇÕ´Ï´Ù.
´öºÐ¿¡ index.phpÇüÅ·Π°É·Á ÀÖ´Â °ÍÀº ÇØ°áÀ» Çß½À´Ï´Ù.
Ãß°¡·Î Áú¹® µå·Áµµ µÉ±î¿ä?
À§¿¡ Á¦°¡ ¸»¾¸ µå¸° ÇüÅ·Î
www.»çÀÌÆ®¸í.com/news/·Î ÆÛ¸Ó¸µÅ©°¡ °É·Á ÀÖ±¸¿ä
±× ¾Æ·¡ ÀÖ´Â ÆÄÀϵ鵵 ¸¶Âù°¡Áö·Î ÆÛ¸Ó¸µÅ©°¡ °É·Á ÀÖ½À´Ï´Ù.
±×·¡¼ www.»çÀÌÆ®¸í.com/news/messege.php ·Î ¸µÅ©°¡ °É·Á ÀÖ´Â °ÍÀ» Ŭ¸¯Çϸé
½ÇÁ¦ news µð·ºÅ丮¿¡´Â ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê°í ÆÛ¸Ó¸µÅ© °É¸° °÷¿¡ Á¸ÀçÇϱ⶧¹®¿¡ ãÁö ¸øÇÏ°í 404¿¡·¯¸¦ ³À´Ï´Ù.
ÀÌ·± °æ¿ì ¾î¶»°Ô ÇØ¾ß Çϳª¿ä?
ÀÌ·¸°Ô µÈ ÀÌÀ¯Áß¿¡´Â ¿öµå ÇÁ·¹½ºÀÇ Ç÷¯±×ÀÎÁß¿¡ Ä¿½ºÅÒ ÆÛ¸Ó¸µÅ©¶ó´Â °ÍÀ» »ç¿ëÇÏ°í Àִ°ÍÀÌ ¹®Á¦Àä
ÀÌ Ç÷¯±×ÀÎÀÌ ¾ÆÆÄÄ¡¿¡¼´Â ¹®Á¦¾øÀÌ µ¿ÀÛÇÏ´ø °ÍÀε¥ NginX·Î ¿À¸é¼ Á¦´ë·Î ÀÛµ¿À» ¾ÈÇÑ´Ù´Â °ÍÀÌÁÒ
ÀÌ Ç÷¯±×ÀÎÀº "Ȩµð·ºÅ丮/wp/wp-content/theme/Å׸¶¸í/" ÀÇ ¾Æ·¡¿¡ °ü·Ã ÆÄÀϵéÀ» ³Ö¾î³õÀ¸¸é
ÆÛ¸Ó¸µÅ©¸¦ »ý¼ºÇÏ¿© ±× ÆÄÀÏ·Î ¿¬°áÇØÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â °ÍÀÔ´Ï´Ù.
±×·¡¼ ÆÛ¸Ó¸µÅ©¸¦ µð·ºÅ丮»Ó ¾Æ´Ï¶ó ÆÄÀϱîÁö ´Ù °É¾î³õÀº ¸ð¾çÀÔ´Ï´Ù.
ÇöÀç »çÀÌÆ®¸¦ ÀÌÀüÇÏ´Â °ÍÀÌ ¿ä±¸»çÇ×ÀÎÁö¶ó
»çÀÌÆ®ÀÇ ³»¿ëÀ» ¼öÁ¤ÇÑ´Ù´ø°¡ ÇÏ´Â °ÍÀº ¾î·Á¿î ½ÇÁ¤ÀÔ´Ï´Ù.
¼³»ç ÇÑ´Ù°í Çصµ »çÀÌÆ® ÆÄÀϵéÀÌ ³Ê¹« º¹ÀâÇÏ°Ô ¾ôÇô ÀÖ¾î ¼öÁ¤ÇÏ·Á¸é ²Ï Å« °ø¼ö°¡ µé°Å °°½À´Ï´Ù.
Á¤Àû ÆÄÀÏÀÌ 800°³¸¦ ³Ñ¾î°¡°í ÀÖ°í °Å±â¿¡ ´õÇؼ ¿öµåÇÁ·¹½º¿¡ ¾²¿©Áø Ç÷¯±×Àεµ ²Ï ¸¹ÀÌ ÀÖ´ÂÅͶó
Àüü ÆÄÀÏ ¿ë·®ÀÌ 4.5±â°¡¸¦ ³Ñ°í ÀÖ½À´Ï´Ù.
¹º°¡ »ÏÁ·ÇÑ ¹¦¼ö°¡ ¾øÀ»±î¿ä.....¤Ì.¤Ð
404 ¿¡·¯°¡ nginx ¿¡¼ ³ª¿À´Â °ÍÀÎÁö, 'Ä¿½ºÅÒ ÆÛ¸Ó¸µÅ©'¿¡¼ ³ª¿À´Â °ÍÀÎÁö ºÐ¼®ÇغÁ¾ß Çϴϱñ¿ä.
ÀÌ °æ¿ì ¹®Á¦ ÇØ°á ºñ¿ëÀÌ ³Ê¹« Ä¿Áú °Í °°À¸¸é, Â÷¶ó¸® apache ·Î ¹Ù²Ù´Â °ÍÀÌ È¿À²ÀûÀÏ ¼ö µµ Àְڳ׿ä.