nginx 쿼리를 경로처럼 쓰고 싶습니다.. 채택완료
엔진엑스 질문할 곳이 아닌 것 같기도 하지만 그누보드 사용하면서 로컬 서버를 구성하다가 막혀 지푸라기라도 짚는 심정으로 질문 올려봅니다.
https://file.okky.kr/images/1667650178573.png" title="" />
위 스크린샷처럼 php파일과 경로는 이런 구조로 돼있구요.
https://file.okky.kr/images/1667650200511.png" title="" />
pages/intro.php/intro1 이라는 페이지에 접속을 하게 되면,
intro.php파일을 읽어오고 그 뒤에 원래라면 경로처럼 인식할 intro1 부분은 쿼리처럼 사용하고 싶습니다.
404 페이지 에러가 뜨면서 안 되는데 nginx 설정을 어떻게 건드려줘야할지 감이 안 옵니다..
https://file.okky.kr/images/1667650276834.png" title="" />
nginx 고수님들 한마디 조언이라도 해주시면 감사하겠습니다... ㅠㅠ
(카페24 웹호스팅에서는 정상작동 하는데 로컬 서버에서만 안되고 있어서 서버 설정 문제라고 추측하고 있습니다.)
답변 3개
intro.php파일을 읽어오고 그 뒤에 원래라면 경로처럼 인식할 intro1 부분은 쿼리처럼 사용하고 싶습니다.
라는말이 무슨의미인지 잘모르겠지만, URL 주소나 파라미터에 따라서 바뀌는거라면,, rewrite 모듈을 사용해야할것같네요.. 대충이런식
참고로 = 는 1순위이고 아무것도없는 맨밑엔 후순위 입니다.
location = /pages/intro.php/ { index intro.php; }
location / { rewrite ... }
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
nginx 설정과 관련 없는 부분입니다. (원래대로 돌리고)
브라우저에서,
http://localhost/pages/intro.php?name=intro1
http://localhost/pages/intro.php?name=intro2
와 같이 접속하면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
일반적으로 /pages/intro.php/intro1 이렇게 쓰이진 않아서
일반적으론 /pages/intro.php?name=intro1 이리 쓰일텐데
아마도 주소 줄이기 이런걸 사용하시려는거 같아서 참고가 될지 하여 내용 남겨봅니다.
- 명칭은 저는 rewrite rule로 부르고 있구요 아파치를 쓰신다면 .htaccess 파일을 해당 디렉토리에 생성해서 rewrite 해주실수 있고 nginx는 비슷하게 쓰실려면 서버 내에 nginx.conf 파일을 통해서 각 server{} 별로 설정할수 있습니다. 말로는 설명하기 뭣하니.. 링크로 대체하겠습니다 apache : http://httpd.apache.org/docs/2.0/ko/misc/rewriteguide.html" target="_blank">http://httpd.apache.org/docs/2.0/ko/misc/rewriteguide.html nginx : https://www.nginx.com/blog/creating-nginx-rewrite-rules/" target="_blank">https://www.nginx.com/blog/creating-nginx-rewrite-rules/
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
location = /pages/intro.php/intro1 {
proxy_pass http://localhost/pages/intro.php
}
이런식으로 쓰면 될 줄 알았는데 파일은 읽어오나 basename($_SERVER["PHP_SELF"]);이 intro.php를 가져오면서 안되더라구요. 근데 이 파일(intro.php) 그대로 cafe24 웹호스팅 운영 서버에 올리면 또 동작을 합니다. 이 말은 cafe24 웹호스팅의 서버설정과 제 설정이 다르다는건데 어떤식으로 설정해줬길래 저게 저렇게 잘 돌아가는지 궁금해서 질문드렸던 거구요.