2009-05-27 2 views
2

깨끗한 URL을 가져 오는 모든 표준 방법을 알고 있습니다 (www.mysite.com/getarticle?a=123 대 www.mysite.com/getarticle/123).아파치 설정에 액세스 할 수없는 PHP URL을 깨끗하게 처리합니다.

이러한 솔루션에는 주로 mod_rewrite, force_type 및 다양한 Apache 구성이 포함됩니다.

내 공유 호스팅에서 이러한 구성에 액세스 할 수 없기 때문에 제한 사항을 해결하고 작업을 완료 할 수있는 해킹/해킹이 있습니까? 감사.

답변

3

예.

www.example.com/index.php/my/path/here을 통해 스크립트를 호출하면 $_SERVER에서 요청 경로를 쉽게 얻을 수 있습니다. 나는 개인적으로 $_SERVER['PHP_SELF']을 사용하지만, 사용하는 PHP의 버전에 따라 선택할 수있는 몇 가지가 있습니다.

2

확실하게 - mod_rewrite를 사용할 수 없습니까?

공유 호스팅 서버에 설치/활성화되어있는 경우 public_html 디렉토리에 .htaccess 파일을 작성하고 다시 쓰기 규칙을 넣을 수 있습니다. 실제 apache 설정을 변경할 필요가 없습니다.

0

시스템에서 올바르게 처리 할 수없는 경우 시스템 종속적 인 URL 이외의 다른 URL을 사용할 수 없습니다. 웹 서버의 기본 동작은 요청 된 URL 경로를 일대일로 파일 시스템에 매핑하는 것입니다.

그러나 대부분의 웹 서버는 특정 규칙의 도움을 받아 요청 된 URL 경로를 파일 시스템에 매핑하는 기능을 제공합니다. 예를 들어

아파치는 해당 정보를 유지하면서 이미 기존 파일을 참조하는 URL 경로가 더 많은 기능과 mod_rewrite (PATH_INFO envirnoment 변수 참조) 한 후 추가 경로 세그먼트를 추가 할 AcceptPathInfo 있습니다.

+0

분명히 AcceptPathInfo는 보통 아파치 요청에서는 꺼져 있지만 mod_php와 대부분의 CGI 처리기에서는 기본적으로 켜져 있습니다. –