thinkpphp 5 숨겨 진 응용 프로그램의 입구 파일 index. php 다시 쓰기 Apache IIS Nginx

2337 단어 코드 연구
숨겨 진 응용 프로그램의 입구 파일 index. php 를 URL 로 다시 쓸 수 있 습 니 다. 다음은 관련 서버 설정 참조 입 니 다.
[ Apache ]
1.      httpd. conf 프로필 에 mod 를 불 러 왔 습 니 다.rewrite. so 모듈
2.      AllowOverride None 은 None 을 All 로 변경 합 니 다.
3.      아래 내용 을 htaccess 파일 로 저장 하여 응용 입구 파일 의 동급 디 렉 터 리 에 저장 합 니 다.

Options +FollowSymlinks -Multiviews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]


[ IIS ]
서버 환경 이 ISAPI 를 지원 한다 면Rewrite 는 httpd. ini 파일 을 설정 하고 다음 내용 을 추가 할 수 있 습 니 다.
RewriteRule (.*)$ /index\.php\?s=$1 [I]

IIS 의 높 은 버 전 아래 웹. config 를 설정 할 수 있 습 니 다. 중간 에 rewrite 노드 를 추가 할 수 있 습 니 다.

 
 
 
 
 
 
 
 
 
 
 
 

[ Nginx ]
Nginx 저 버 전에 서 는 PATHINFO 가 지원 되 지 않 지만 Nginx. conf 에서 퍼 가기 규칙 을 설정 하여 구현 할 수 있 습 니 다.
  location / { // …..      
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

사실 내 부 는 씽 크 PHP 가 제공 하 는 호 환 URL 로 리 트 윗 됐 는데, 이 를 활용 하면 PATHINFO 가 지원 되 지 않 는 다른 WEB 서버 환경 을 해결 할 수 있다.
응용 프로그램 이 2 급 디 렉 터 리 에 설치 되 어 있 으 면 Nginx 의 의사 정적 방법 은 다음 과 같 습 니 다. 그 중에서 yodomain 은 있 는 디 렉 터 리 이름 입 니 다.
location /youdomain/ {
    if (!-e $request_filename){
        rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=/$1  last;
    }
}

원래 방문 URL:
http://serverName/index.php/  /   /  /[   /   ...]

설정 후, 우 리 는 아래 의 방식 으로 접근 할 수 있 습 니 다.
http://serverName/  /   /  /[   /   ...]

서버 를 수정 할 수 있 는 권한 이 없다 면 index. php 입구 파일 을 수정 할 수 있 습 니 다. 이것 은 올 바른 방법 이 아니 며, 반드시 성공 하 는 것 은 아 닙 니 다. 서버 를 보고 결정 합 니 다. 프레임 워 크 가 실행 되 기 전에 $SERVER ['PATH INFO'] 인자
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI' ];

좋은 웹페이지 즐겨찾기