Nginx在位置重写id

时间:2015-02-09 17:01:00

标签: regex nginx rewrite

我需要在nginx配置中编写一个字符串,将/user1.html重定向到/user/1-/。当然,ID应该是([0-9] +)。 Donno为什么我不能。

如果我在没有正则表达式rewrite ^/user1.html$ /user/1-/ last;的情况下写作,一切都很好。但是当我添加regexp(rewrite ^/user([0-9]+)\.html$ /user/$1-/ last;)时,nginx给了我404。

除了(.*)之外,我还尝试写([0-9]+),但没有任何改变。

我也尝试为此写一个特殊的位置 - 也没有任何结果。

请帮帮我......

完成配置:

server {
    listen 80;
    server_name localhost;
    root /var/www/localhost/;
    index index.php;
    if ($request_uri ~* "^(.*/)index\.php$") {
        return 301 $1;
    }
    location / {
        rewrite ^/user([0-9]+)\.html$ /user/\1-/ last;
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    }
}

0 个答案:

没有答案