Назад | Перейти на главную страницу

Apache to Nginx Rewrite to a Directory неразбериха

Я мог бы использовать небольшую помощь с перезаписью и nginx ... В основном структура моего приложения выглядит так

Headdirectory --
           -APPBase
           -SomeMoreStuff
           -WWWDirectory
           .htaccess

Поэтому мне нужно перенаправить в WWWDirectory, когда я открываю Headdirectory. В Apache это делается с помощью htaccess и следующего содержимого:

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

Я уже пробовал в Nginx:

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

И я попытался создать псевдоним, но это не сработало ...

Было бы хорошо, если бы кто-нибудь мог мне помочь.

Хорошего дня

Это немного запутанный вопрос ...

Ваша конфигурация такова, что если кто-то попробует http://some.host/Headdirectory, он будет переписан на http://some.host/www/Headdirectory, чего не хочешь, притворяюсь ...

Попробуй это:

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

РЕДАКТИРОВАТЬ:

Извините, вам понадобится этот блок конфигурации:

location /www {
}

Перестанет переписывать ...

Вот как это можно сделать в Nginx ...

server {
  server_name domain.com;
  root /path/to/domain.com;
  index index.php; # or index.html or something that suits the application

  location ~ /Headdirectory/WWWDirectory/ {
    # do some stuff with WWWDirectory
    # something like try_files $uri =404;
  }

  location ~ /Headdirectory/ {
    rewrite ^/Headdirectory/(.*)$ /Headdirectory/WWWDirectory/$1 permanent;
  }

  # other blocks and directives

  location / {
    # do stuff with the root
    # such as try_files $uri =404;
  }
}

Вопросы?