Server

우분투 nginx rewrite

by 보석 posted Nov 03, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


gedit /etc/nginx/xe.conf


##########################################
# NGXMP¿ë XE (±âÅž ŽÙž¥ nginx¿¡Œ­ »ç¿ë°¡ŽÉÇÕŽÏŽÙ.)
# XE 1.4.5.5
# ÅäÅä·ç ( http://ncafe.kr )
#
##########################################
if ($request_uri ~* /phpmyadmin) {
break;
}
# reserve XE Layout Template Source File (*.html)
rewrite ^/(layouts|m.layouts)/(.+)/(.+)\.html$ /index.php last;
 
# conf, query, schema
rewrite ^/(modules|addons|widgets)/(.+)/(conf|queries|schemas)/(.+)\.xml$ /index.php last;
 
# static files
if (!-f $request_filename) {
rewrite ^/(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*) /files/$2/$3 last;
}
 
if (!-f $request_filename) {
rewrite ^/(.+)/(files|modules|common|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) /$2/$3 last;
}
 
# rss , blogAPI
rewrite ^/(rss|atom)$ /index.php?module=rss&act=$1 last;
rewrite ^/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?mid=$1&act=$2 last;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?vid=$1&mid=$2&act=$3 last;
 
# trackback
rewrite ^/([0-9]+)/(.+)/trackback$ /index.php?document_srl=$1&key=$2&act=trackback last;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ /index.php?vid=$1&document_srl=$2&key=$3&act=trackback last;
 
# administrator page
rewrite ^/admin/?$ /index.php?module=admin last;
 
# document permanent link
rewrite ^/([0-9]+)$ /index.php?document_srl=$1 last;
 
# mid link
if (!-d $request_filename) {
rewrite ^/([a-zA-Z0-9_]+)/?$ /index.php?mid=$1 last;
}
# mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?mid=$1&document_srl=$2 last;
 
# vid + mid link
if (!-d $request_filename) {
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ /index.php?vid=$1&mid=$2 last;
}
# vid + mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?vid=$1&mid=$2&document_srl=$3 last;
 
# mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?mid=$1&entry=$2 last;
# vid + mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?vid=$1&mid=$2&entry=$3 last;







# You may add here your
# server {
#    ...
# }
# statements for each of your virtual hosts

server {
    listen   80 default;
    server_name  localhost;

    access_log  /var/log/nginx/localhost.access.log;

    location / {
        root   /var/www/nginx-default;
        index  index.html index.htm;
    }

    location /doc {
        root   /usr/share;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

    location /images {
        root   /usr/share;
        autoindex on;
    }
    #error_page  404  /404.html;

    # redirect server error pages to the static page /50x.html
    #
    #error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #    root   /var/www/nginx-default;
    #}

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
        #proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
        include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
        #deny  all;
    #}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen   8000;
#listen   somename:8080;
#server_name  somename  alias  another.alias;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}


# HTTPS server
#
#server {
#listen   443;
#server_name  localhost;

#ssl  on;
#ssl_certificate  cert.pem;
#ssl_certificate_key  cert.key;

#ssl_session_timeout  5m;

#ssl_protocols  SSLv2 SSLv3 TLSv1;
#ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers   on;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}

server
{
server_name 192.168.0.2;
root /home/ac3000/public_html;
include xe.conf;
index index.html index.htm index.php;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param   SCRIPT_FILENAME /home/ac3000/public_html$fastcgi_script_name;
        include fastcgi_params;
    }
}