Answer the question
In order to leave comments, you need to log in
Nginx - how to rewrite url?
Good afternoon! need help setting up rules for rewrite:
host.com/page/NNNNN is translated to localhost:1001/page?p=NNNNN
while all static (all pictures, css, js) is from host.com port 80
Since I am new to setting up nginx I will be very grateful for a detailed example!
(nginx 1.6.2)
Answer the question
In order to leave comments, you need to log in
server {
# Порт
listen 80;
# Имя сервера
server_name host.com;
# Путь до статики
root /var/www/;
# Все файлы, которые будут совпадать по маске со сл. рег. выр., будут
# обслуживаться nginx: сначало будет запрос как к файлу (например, host.com/js/main.js),
# если файла не будет, то запрос будет переформирован как к директории (host.com/js/main.js/),
# и если по прежнему ничего не найдено, вернется 404 ошибка
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|3gp|mp4)$ {
try_files $uri $uri/ =404;
}
# Все остальные запросы, котоыре не подходят по маске статических файлов, описанных выше,
# будут перенаправлены на localhost.
# Первая строчка - адрес перенаправления, вторая - устанавливает заголовок Host. Если вы используете
# выделенный сервер и он используется только под один проект - её можно опустить.
location / {
proxy_pass http://localhost:1001;
proxy_set_header Host $host;
}
}
If it worked for you on Apache before, then you can give it to Apache in its original form. And entrust nginx to process only statics (html, js, css, png, etc).
So many hosters with panels do
server {
server_name example.com;
listen 80;
set $root_path /var/www/data/example.com;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|3gp|mp4)$ {
expires max;
root $root_path;
error_page 404 = @fallback;
}
location / {
proxy_pass http://127.0.0.1:81;
proxy_redirect http://127.0.0.1:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question