конфигурация nginx - заменяет/переписывает все битые ссылки на странице. Добавьте префикс к uri

Я хочу ввести "название проекта" к каждой ссылке на веб-страницу.

Пример: свяжитесь и сайт, http://localhost/osqa/ работает, но когда я нахожусь на osqa странице, все ссылки направляют к localhost непосредственно, http://localhost/account/signin/ - повреждается...

таким образом, я хочу переписать/перенаправить все ссылки для указания на местоположение названия проекта, как http://localhost/osqa/account/signin/

Действительно ли возможно, если да затем, как сделать это? Прямо сейчас я узнаю о, переписывают и try_files.

Это - моя древовидная структура проекта, названия проекта (osqa, форум, other_project, another_project):

/home/user/webapps/
├── osqa
│   ├── osqa
│   ├── media
│   └── static
├── forum
│   ├── forum
│   ├── media
│   └── static
├── other_project
│   ├── other_project
│   ├── media
│   └── static
└── another_project
    ├── another_project
    ├── media
    └── static

Это - моя конфигурация nginx:

server {
    listen 8080;
    server_name localhost;
    root /home/user/webapps/;

location ~ ^\/(?P<app>[\w-_]+)(/.*)?$ {
    alias /home/user/webapps/$app/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unix:/home/user/webapps/$app/run/gunicorn.sock:/;
    }
}

Я изменял корневой путь и переписывал uri, но без успеха, все же.

0
задан 14 April 2015 в 21:20
1 ответ

Перезапись и try_files применяются только к входящим запросам и способам привязки входящих URL к путям на сервере.

Нет надежного способа переписать URL, которые находятся в реальном HTML-коде, посылаемом клиентам.

Вам следует изучить другие методы, чтобы заставить ваши приложения префиксовать требуемый путь к URL-адресам. Чаще всего приложения имеют настройку для корневого URL, например, вы бы установили его в http://localhost/forum для вашего приложения на форуме. После установки этого, форум автоматически добавляет необходимые префиксы в URL.

.
2
ответ дан 4 December 2019 в 13:50

Теги

Похожие вопросы