2013-05-01 1 views
1

간단한 URL을 만들기 위해 RewriteRule을 작성하려고합니다. 나는 사용자가nginx가있는 간단한 RewriteRule

www.example.com/somepage 

를 입력 입력 할 수 있도록하려면 그것은이이 htaccess로에서 수행 할 수있는 방법

www.example.com/abc/somepage.php 

에 데리고가?

나는 아무 소용이 시도했습니다 : 내가 잘못 뭐하는 거지

RewriteRule ^somepage$ abc/somepage.php [L] 

RewriteRule ^/somepage$ /abc/somepage.php [L] 

?

편집 : nginx도 구성 파일에서 다시 쓰기를 처리 할 수 ​​있습니다. (실제로 생각합니다.) 제 경우였습니다 (내 대답 참조). HTH

+0

** .htaccess를 ** nginx **와 함께 사용하려고합니까, 아니면 ** apache ** 태그 여야합니까? http://wiki.nginx.org/LikeApache-htaccess – grossvogel

+0

Magento 프레임 워크를 사용하고 있습니다. 기본적으로 .htaccess를 사용합니다. –

+0

요청에 슬래시가있을 수 있습니다. 대신'RewriteRule^somepage /? $/abc/somepage.php'를 사용해보십시오. 그래도 작동하지 않으면 .htaccess 파일은 어디에 있고 옵션은 무엇입니까? –

답변

1

사용자 웹 브라우저가 PHP 페이지로 리디렉션되도록하려면 RewriteRule 끝에 R=301 플래그가 필요합니다.

아파치가 리소스를 찾을 수있는 곳을 알고 있지만 사용자의 웹 브라우저가 "깨끗한"URL 만 보게하기 위해 요청을 조용히 다시 쓰고 싶다면`R '플래그는 원하지 않는다.

는 다음을 시도해보십시오 아파치 대신 /abc/somepage.php에서 콘텐츠를 가져옵니다 있도록

RewriteRule ^somepage$ /abc/somepage.php 

이 단지에 대한/somepage 요청을 다시 작성합니다.

+0

정보를 제공해 주셔서 감사합니다. 그러나 나는 단지 특별히'somepage'가되고 싶습니다. –

+0

위의 답변을 편집했습니다. – Bobulous

+0

작동하지 않습니다. \ –

0

우리의 nginx 서버는 .htaccess 파일을 사용하고 있었지만 (지금까지 재 작성을 구현했기 때문에), 이제 구성 (.conf) 파일 (권장되는 방법)에서 재 작성을 처리하고 있습니다.

.conf 파일을 수정할 수있는 권한이 없으므로 테스트되지 않은 코드는 게시하지 않습니다. 희망이 있으면 도움이됩니다.

+1

'nginx가 아파치와 같은 .htaccess 파일을 활용할 수 있다는 주장에 대한 참고 자료가 있는가? 내가 본 모든것에서, nginx devs는 .htaccess를 지원하기를 거절한다. (그들이 믿고 동의하지 않기 때문에) 서버 설정을위한 끔찍한 메커니즘이다. – grossvogel

+0

아니요, 아닙니다. 나는 대답을 바꾸었다. 나는 어느 쪽도 동의하지 않는다. –