目前我正在使用
location /login {
rewrite ^/login/$ /login.php last;
rewrite ^/login$ /login.php last;
}
重写 www.example.com/login 和 www.example.com/login/。我想知道这是否也可以在一个语句中实现。我试过了,rewrite ^/login(/)$ /login.php last;
但没有成功。
此外,自从我开始使用重写后,我注意到我的一些 css 路径被破坏了,因为我使用了相对路径。我会将它们全部转换为绝对路径,但我问自己在使用重写时是否还有其他需要注意的影响。
编辑:
这就是我处理 .php 的方式
location ~ \.php$ {
if (!-f $request_filename) {
return 404;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
try_files $uri $uri/ /index.php;
}
答案1
location /login {
rewrite ^/login/?$ /login.php last;
}
在 RegEx 中,问号使得前面的标记成为可选项。