nginx 쿼리를 경로처럼 쓰고 싶습니다..
본문
엔진엑스 질문할 곳이 아닌 것 같기도 하지만 그누보드 사용하면서 로컬 서버를 구성하다가 막혀 지푸라기라도 짚는 심정으로 질문 올려봅니다.
위 스크린샷처럼 php파일과 경로는 이런 구조로 돼있구요.
pages/intro.php/intro1 이라는 페이지에 접속을 하게 되면,
intro.php파일을 읽어오고 그 뒤에 원래라면 경로처럼 인식할 intro1 부분은 쿼리처럼 사용하고 싶습니다.
404 페이지 에러가 뜨면서 안 되는데 nginx 설정을 어떻게 건드려줘야할지 감이 안 옵니다..
nginx 고수님들 한마디 조언이라도 해주시면 감사하겠습니다... ㅠㅠ
(카페24 웹호스팅에서는 정상작동 하는데 로컬 서버에서만 안되고 있어서 서버 설정 문제라고 추측하고 있습니다.)
답변 3
intro.php파일을 읽어오고 그 뒤에 원래라면 경로처럼 인식할 intro1 부분은 쿼리처럼 사용하고 싶습니다.
라는말이 무슨의미인지 잘모르겠지만, URL 주소나 파라미터에 따라서 바뀌는거라면,, rewrite 모듈을 사용해야할것같네요.. 대충이런식
참고로 = 는 1순위이고 아무것도없는 맨밑엔 후순위 입니다.
location = /pages/intro.php/ {
index intro.php;
}
location / {
rewrite ...
}
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
nginx : https://www.nginx.com/blog/creating-nginx-rewrite-rules/