2011-08-05 4 views
2

nginx 및 PHP가 포함 된 devserver 슬라이스 호스트 슬라이스가 있습니다.별도의 폴더에 drupal + codeigniter가있는 nginx + php

나는 localhost/drupal에서 실행중인 drupal과 localhost/codeigniter에서 실행중인 codeigniter 응용 프로그램을 얻으려고합니다.

나는 둘 중 하나를 사용할 수는 있지만 둘 다 사용할 수는 없습니다. 다시 쓰기와 fastcgi는 서로를 방해하는 것 같습니다.

누구나/drupal 및/codeigniter를 모두/var/www의 별도 폴더에있는 다시 쓰기 규칙 (SEF URL의 경우)과 함께 사용하는 방법을 알고 있습니까?

건배.

+1

당신은 할 수 없습니다 [VirtualHost] (http://wiki.nginx.org/VirtualHostExample)로 설정하십시오. – dakdad

답변

0

좋아, 폴더/도메인 (예 : drupal, yoursite.com)의 이름을 나타내는/etc/nginx/sites에서 파일을 만들어야합니다 (확장자는 필요 없음).

server { 
server_name yourdomain.com; 
root /var/www/yourdomain; 

index index.php; 

    location/{ 
    autoindex on; 
    try_files $uri $uri/ /index.php; 
    } 
    location ~ \.php$ { 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    } 
} 

실제로 URL이 $ _SERVER [ 'REQUEST_URI']에 다시 쓰는 보내드립니다 위의 예제에서 :

여기 샘플 파일입니다. 더 많은 nginx를 다시 작성하려면 http://wiki.nginx.org/HttpRewriteModule을 참조하십시오.

는 그런 다음이 파일의 심볼릭 링크를 생성하여 사용하려는 당신은/etc/nginx를/사이트 사용

Example: # ln -s /etc/nginx/sites-available/yoursite /etc/nginx/sites-enabled/yoursite 

그런 다음 다시 시작 폴더/재 장전 nginx를

# services nginx reload 
관련 문제