Nginx上的透明URL重写

Nginx上的透明URL重写,nginx,url-rewriting,rewrite,Nginx,Url Rewriting,Rewrite,在我的Nginx服务器上,我有一个url 1 我希望它将请求重写为url 2 在地址栏中不更改url 1 我尝试了在配置文件中找到的几个示例,但没有结果。我感谢你的帮助 [更新]这里是另一个尝试。我认为alias是正确的选择,如果我的表达式正确的话。这应该可以,但它会重定向到主页。我做错了什么 location~^/component/(.*)${ 别名/var/www/example.com/www/abc/$1; }为什么不用最简单的方法来做呢 location /component/

在我的Nginx服务器上,我有一个url 1

我希望它将请求重写为url 2

在地址栏中不更改url 1

我尝试了在配置文件中找到的几个示例,但没有结果。我感谢你的帮助

[更新]这里是另一个尝试。我认为alias是正确的选择,如果我的表达式正确的话。这应该可以,但它会重定向到主页。我做错了什么

location~^/component/(.*)${
别名/var/www/example.com/www/abc/$1;

}

为什么不用最简单的方法来做呢

location /component/ {
  rewrite ^/component(.*) $1 last;
}

你试过什么?我试过:location/component/{rewrite^/component/(.*)$$scheme://www.example.com/$1 permanent;}但是这个会重定向url并更改地址栏中的url。不要在注释中添加代码。编辑帖子对不起,我不知道我不能在评论中发布代码。我已更新了问题。请尝试此
location/component/{alias/;}
。alias是位置的替代品,而不是本地路径。谢谢,我知道这是正确的答案,尽管出于某种原因,它在我的服务器上无法工作,好像它从未解析/component/block来执行该行一样。我99%确定您有regexp location(如*.php)。您可以使用
location^~/component/{…}
来阻止
/component/
的regexp位置