Nginx重写不适用于不同的位置

时间:2016-08-19 17:50:29

标签: .htaccess mod-rewrite nginx location

我有一个问题,我无法弄清楚,

所以我的问题是这个,我试图在子文件夹上找到不同的重写规则,这是移动版本。 site.com是主站点,site.com/mobile/是移动站点,我想做的是为这两个位置添加不同的重写,这可能吗?

server {
listen      111.111.111:80;
server_name site.com www.site.com;
index       index.php index.html index.htm;
root        /home/admin/web/site.com/public_html;
access_log  /var/log/nginx/domains/site.com.log combined;
access_log  /var/log/nginx/domains/site.com.bytes bytes;
error_log   /var/log/nginx/domains/site.com.error.log error;
location / {

rewrite ^/index.html$ / permanent;
rewrite ^/([^/]*)_([a-zA-Z0-9]+)/$ /watch.php?vid=$2;
rewrite ^/([^/]*)_([a-zA-Z0-9]+).html$ /watch.php?vid=$2;
rewrite ^/fpembed-(.*).swf$ /fpembed.php?vid=$1;
rewrite ^/uploads/thumbs/(.*)-social.(jpg|gif|png)$ /social-thumb.php?vid=$1;
rewrite ^/rss.xml$ /rss.php last;

 location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
        expires     max;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        if (!-f $document_root$fastcgi_script_name) {
            return  404;
        }

        fastcgi_pass    127.0.0.1:9002;
        fastcgi_index   index.php;
        include         /etc/nginx/fastcgi_params;
    }
}

location /mobile/ {
alias /home/admin/web/site.com/public_html/mobile/;

rewrite ^/index.html$ / permanent;
rewrite ^/category.html$ /category.php;
rewrite ^/([^/]*)_([a-zA-Z0-9]+).html$ /watch.php?vid=$2;
rewrite ^/fpembed-(.*).swf$ /fpembed.php?vid=$1;
rewrite ^/rss.xml$ /rss.php last;          

    location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
        expires     max;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        if (!-f $document_root$fastcgi_script_name) {
            return  404;
        }

        fastcgi_pass    127.0.0.1:9002;
        fastcgi_index   index.php;
        include         /etc/nginx/fastcgi_params;
    }
}
可以告诉我,我在这里做错了什么吗?非常感谢

0 个答案:

没有答案