我对NGINX服务器很新,我想知道如何修复此位置优先级,因为它不起作用。
我希望服务器查找/ phpmyadmin /如果匹配则使用其root,否则使用第二个位置块。
location ^/phpmyadmin/.*\.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ {
root /usr/share/phpmyadmin;
}
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ {
root /home/safeftp/www/public_html;
expires 30d;
}
非常感谢你的答案。 彼得
答案 0 :(得分:1)
您需要在第一个位置块上使用~*
(不区分大小写的匹配)语法。此外,最好养成用双引号或单引号包装正则表达式的习惯,以防你有空格或其他特殊字符。
location ~* "^/phpmyadmin/.*\.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$" {
root /usr/share/phpmyadmin;
}
location ~* "\.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$" {
root /home/safeftp/www/public_html;
expires 30d;
}