У меня есть сервер YOURLS для размещения коротких URL-адресов моей компании, чтобы мы могли предоставлять короткие URL-адреса нашим клиентам.
Я использую nginx, а в качестве корня домена, если они не используют правильный короткий URL-адрес, я хочу перенаправить на наш веб-сайт. Таким образом, example.com/218a перенаправляет на то, на что указывает этот короткий URL, а example.com переходит на наш сайт @ domain.com.
Прямо сейчас я использую страницу index.html только с мета-обновлением для перенаправления, но я думал, что смогу сделать это в конфигурации nginx, и это, вероятно, будет лучше.
Может ли кто-нибудь помочь мне правильным способом, если это возможно, сделать это на уровне сервера вместо использования мета-обновления?
Я пробовал несколько примеров из того, что нашел здесь, но ни один из них, похоже, не работает.
Вот мой файл конфигурации для справки.
server {
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm index.php;
# Make site accessible from http://localhost/
server_name http://domain.com;
location / {
#YOURLS
try_files $uri $uri/ /yourls-loader.php;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass php5-fpm-sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}
Прежде всего, server_name
директива недействительна в вашем основном server
блок. server_name
содержит только доменное имя, а не другие части URL-адреса.
Чтобы ответить на ваш вопрос, добавьте следующую конфигурацию:
location = / {
rewrite ^ http://domain.com permanent;
}
Это делает все URI, которые соответствуют точному /
перенаправление на http://domain.com