Apache 到 Ngnix 重写目录混淆

Apache 到 Ngnix 重写目录混淆

我可以使用 rewrite 和 nginx 的一些帮助...基本上我的应用程序的结构如下所示

Headdirectory --
           -APPBase
           -SomeMoreStuff
           -WWWDirectory
           .htaccess

因此,当我打开 Headdirectory 时,我需要重定向到 WWWDirectory。在 Apache 中,使用 htaccess 和以下内容完成:

RewriteEngine On
RewriteRule ^(.*) www/$1

我已经在 Nginx 中尝试过:

location /Headdirectory {    
rewrite ^/(.*) /www/$1;
      }

我尝试创建别名,但没有成功...

如果有人能帮助我那就太好了。

祝你今天过得愉快

答案1

以下是在 Nginx 中如何实现的...

服务器 {
  服务器名称域名.com;
  根/路径/到/域名.com;
  index index.php; # 或 index.html 或者其他适合应用程序的内容

  位置 ~ /Headdirectory/WWWDirectory/ {
    # 使用 WWWDirectory 做一些事情
    # 类似于 try_files $uri =404;
  }

  位置 ~ /Headdirectory/ {
    永久重写 ^/Headdirectory/(.*)$ /Headdirectory/WWWDirectory/$1;
  }

  # 其他块和指令

  地点 / {
    # 使用 root 进行操作
    # 例如 try_files $uri =404;
  }
}

问题?

答案2

这是一个有点令人困惑的问题...

您的配置是,如果有人尝试http://some.host/Headdirectory,它将被重写为http://some.host/www/Headdirectory,这不是您想要的,我假装......

尝试这个:

root /full/path/to/the/Headdirectory
location / {
     rewrite ^/(.*) /www/$1;
}

编辑:

很抱歉,您需要这个配置块:

location /www {
}

它将停止重写...

相关内容