Nginx重写不';无法使用典型的扩展
我有一个像这样的nginx重写位置配置Nginx重写不';无法使用典型的扩展,nginx,mod-rewrite,url-rewriting,nginx-location,Nginx,Mod Rewrite,Url Rewriting,Nginx Location,我有一个像这样的nginx重写位置配置 location /playernew { error_log /home/heyka/rewrite-error.log debug; if ($request_filename ~ /playernew/([A-Za-z0-9_-]+)/(.+)){ rewrite /playernew/([A-Za-z0-9_-]+)/(.+) /playernew/$2 break; } 例如,url.com/playerne
location /playernew {
error_log /home/heyka/rewrite-error.log debug;
if ($request_filename ~ /playernew/([A-Za-z0-9_-]+)/(.+)){
rewrite /playernew/([A-Za-z0-9_-]+)/(.+) /playernew/$2 break;
}
例如,url.com/playernew/wydra/assets/css/style.csss
有效。注意.css
扩展名
在日志中,我有:
2019/09/09 17:35:41 [notice] 28519#0: *103 "/playernew/([A-Za-z0-9_-]+)/(.+)" matches "/home/website/www/playernew/wydra/assets/css/style.csss", client: ip, server: nocache.website.com, request: "GET /playernew/wydra/assets/css/style.csss HTTP/1.1", host: "nocache.website.com"
2019/09/09 17:35:41 [notice] 28519#0: *103 "/playernew/([A-Za-z0-9_-]+)/(.+)" matches "/playernew/wydra/assets/css/style.csss", client: ip, server: nocache.website.com, request: "GET /playernew/wydra/assets/css/style.csss HTTP/1.1", host: "nocache.website.com"
2019/09/09 17:35:41 [notice] 28519#0: *103 rewritten data: "/playernew/assets/css/style.csss", args: "", client: ip, server: nocache.website.com, request: "GET /playernew/wydra/assets/css/style.csss HTTP/1.1", host: "nocache.website.com"
2019/09/09 17:35:41 [error] 28519#0: *103 open() "/home/website/www/playernew/assets/css/style.csss" failed (2: No such file or directory), client: ip, server: nocache.website.com, request: "GET /playernew/wydra/assets/css/style.csss HTTP/1.1", host: "nocache.website.com"
但是
当我点击.com/playernew/wydra/assets/css/style.css
时。注意.css
。。。不完全有效。日志中没有任何内容。没有什么。就像“重写”命令从未存在过一样
即使配置像
location /playernew {
error_log /home/arek/rewrite-error.log debug;
rewrite style.css / break;
同样:/
为什么??发生了什么事
为什么.css
有效,而.css
无效。其他正则扩展也是如此
再次->点击/playernew/wydra/setup/index.phpp
生成日志并重写工作
但是点击/playernew/wydra/setup/index.php
。。。没有日志+不起作用
对我来说,它与任何典型的扩展都有问题您是否有一个正则表达式
位置
块,它匹配以.css
结尾的URI?例如:location~ \(css|js)${…}
您的配置有点奇怪<代码>如果不好,尤其是在位置内部。你为什么不把rewrite/playernew/([A-Za-z0-9_-]+)/(.+)/playernew/$2放在最后代码>在服务器上下文中?(无任何位置)@Danilavershin将try@RichardSmith我有,但还是有同样的问题。匹配的正则表达式location
将优先于location/playernew
块。