Я заметил, что это только
home-page/index.php
там, где я сталкиваюсь с этой проблемой. Например, если я получаю доступ,site/category-name
он работает нормально.
Я не могу с уверенностью сказать, является ли это причиной ваших проблем с перенаправлением (может быть что-то неправильно настроено в другом месте), но у вас есть четыре server_name
директивы (две из которых являются активными двойниками www.sub.domain.com ), когда вам нужно только один.
Попробуйте этот отредактированный .conf
файл:
#server { #listen 80; #server_name sub.domain.com www.sub.domain.com; #rewrite ^(.*) http://sub.domain.com$1 permanent; #} server { listen 80 default; listen 443 ssl; server_name sub.domain.com www.sub.domain.com; #ssl on; #ssl_certificate /key/domain.com.pem; #ssl_certificate_key /key/domain.com.key; # access_log off; access_log /home/sub.domain.com/logs/access.log; # error_log off; error_log /home/sub.domain.com/logs/error.log; root /home/sub.domain.com/public_html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; }
Заметки
Основное правило для nginx - одна server_name
директива на блок сервера (в отличие от Apache с ServerName
и ServerAlias
). В этой директиве может быть указано несколько имен хостов.
Если вам нужны разные конфигурации для основного домена и дополнительного (под) домена, они должны быть в отдельных блоках сервера, например:
server { listen 80; server_name sub.domain.com; # ...other stuff... } server { listen 80; server_name www.sub.domain.com; # ...other stuff... }