我需要在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;
}
}