我为NginX设置了这样一个重定向:
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?permalink=$1 last;
}它在数千个链接中运行良好,但对于少数几个链接却不起作用。
一些不断抛出404错误的链接是:
对于数以千计的其他配置文件/*链接,它工作得很好。我试图通过以下方式访问上述配置文件:
index.php?permalink=profile/jongz而且效果很好。因此,我假设一定有一些错误的配置,这使得nginX抛出404文件时没有找到错误,而不是继续到rewrite函数。
这些链接是否包含一些阻止nginX正确重写链接的字符或字符组合?
发布于 2019-09-23 15:56:53
以下是问题所在:
location ~* .(js|jpg|jpeg|gif|png|css|tgz|gz|rar|bz2|doc|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|woff|woff2|svg)$ {
etag on;
if_modified_since exact;
add_header Pragma "public";
add_header Cache-Control "max-age=31536000, public";
}不知道为什么它没有在表达式的开头选择点。有人知道答案吗?
https://serverfault.com/questions/984473
复制相似问题