Я хочу ввести "название проекта" к каждой ссылке на веб-страницу.
Пример: свяжитесь и сайт, 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, но без успеха, все же.
Перезапись и
try_files
применяются только к входящим запросам и способам привязки входящих URL к путям на сервере.
Нет надежного способа переписать URL, которые находятся в реальном HTML-коде, посылаемом клиентам.
Вам следует изучить другие методы, чтобы заставить ваши приложения префиксовать требуемый путь к URL-адресам. Чаще всего приложения имеют настройку для корневого URL, например, вы бы установили его в http://localhost/forum
для вашего приложения на форуме. После установки этого, форум автоматически добавляет необходимые префиксы в URL.