我有这个configuration,我需要传递一个哈希(40个字符)到一个PHP文件,它与Apache mod_rewrite工作,但与Nginx它不是我甚至试图做简单的重写,它根本不工作
server { ......... location / { rewrite ^aa$ /downloadTORRENTZ.php break; root /usr/share/nginx/html; index index.html index.htm; rewrite "^([A-Z0-9]{40})$" /file.php?ddl=$1 break; } }
请求通常以/开头,所以你的正则expression式应该看起来像
rewrite ^/([A-Z0-9]{40})$ /file.php?ddl=$1 break;
你的散列ALLCAPS? 也许你应该使用[a-zA-Z0-9]
40个字符…看起来像sha1哈希。 可能是你应该简化正则expression式到[0-9A-F]