当前位置: 首页 > 知识库问答 >
问题:

nginx:如何只重写特定目录的url

石超
2023-03-14

我使用nginx作为反向代理。我正在使用别名重写目录。在我的alias目录中,我有Angular 2构建文件,它们使用html5路由。所以当用户刷新页面时,它应该重写到索引中。html仅存在于该目录中。

“控件窗格被别名覆盖”

我已经尝试过“try_files$uri$uri//index.html=404但这是指指数。主目录中的html。

我也试着给出一条绝对路径,但仍然不起作用。

server {
    listen 80;
    server_name xx.xxx.xx.xxx;
    location / {
        proxy_pass http://localhost:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    location /control-panel {
        alias /var/www/html/soundoff-admin-dev/dist;
        # here rewrite should override with index.html inside "dist" directory
     }
}

共有1个答案

咸高谊
2023-03-14

从https://stackoverflow.com/a/50863128/1264360借的

尝试

 location /control-panel {
    root /var/www/html/soundoff-admin-dev/dist;
    try_files $uri $uri/ /control-panel/index.html;
 }
 类似资料:
  • 我正在尝试通过Spring Security进行登录的oAuth2配置设置。但仅限于特定的网址。 我的安全配置如下。 基本上,我只希望oauth2Login成为以/secured开头的URL的触发器。它似乎几乎可以工作,唯一的问题是每当Spring试图将我的会话重新定向到google进行身份验证时,它就会触发404。 oauth身份验证的标准重定向应该触发到http://localhost:808

  • 我正在转换我的media wiki站点,使用nginx作为静态文件的前端,在PHP后端有apache。到目前为止,我已经得到了所有的工作,除了当我查看根目录“example.com”时,它试图提供一个目录列表,并给出一个403错误,因为我已经禁用了它,并且那里没有索引文件。 我现在使用的apache重写规则很简单: 我在nginx中尝试了类似的location指令,但它不起作用: 我的位置指令的其

  • 我从特定目录下的Stackoverflow使用通配符子域获取源代码 原始代码: 它可以正常工作,但上面的代码指向根目录。我希望所有子域都指向我的“公文包”目录中的目录,所以我尝试修改自己的代码 修改后(添加"/投资组合"): 但它给了我“500-内部服务器错误”。。。为什么?有人能纠正我的密码吗? 对我的英语表示感谢和歉意。

  • 试图在使用ec2插件创建的按需Jenkins slave上重写Jenkins master maven配置。由于我们使用的是maven的不同maven版本,所以我需要用从节点配置覆盖全局配置。 Master上的Maven配置: 需求:我需要将Maven主页设置为slave上的。 Jenskins版本:1.656

  • 使用ESLint是否可以忽略整个目录的一个特定规则? 在我的例子中,我想忽略为一个名为的目录

  • 我有文件在和我想服务他们在使用一个简单的nginx配置。在文件夹中是这样的: 所以我真的希望能够访问,等。 在我的nginx配置中,我有: 这不起作用(如果我尝试转到上面的URL,我会得到404),但是如果我尝试完全相同的设置,但是使用而不是,它可以正常工作。我如何静态地为这个文件目录提供服务,但不是在根位置,而是在一个路径上?我是否必须将文件放在一个名为“某物”的文件夹中,如,这样才能工作?如果