Кто-нибудь знает, как исправить проблему с перенаправлением Nginx + Apache + Wordpress на localhost / 127.0.0.1? Я пробовал много разных исправлений, но ни одно из них не помогло.
Я могу пойти в http://domain.com/wp-admin просто отлично и используйте все там нормально. Но если я попытаюсь пойти в http://domain.com он перенаправляет на 127.0.0.1. Все также отлично работает, если я просто запускаю Apache.
Вот соответствующие части моего nginx.conf:
server {
listen 80;
server_name domain.com;
root /var/www/html/wordpress;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
}
}
Вот соответствующие части моего httpd.conf:
Listen *:8080
ServerName <ip>
<VirtualHost *:8080>
ServerAdmin test@test
DocumentRoot /var/www/html/wordpress
ServerName domain.com
</VirtualHost>
Вот как выглядит мой журнал nginx:
<ip> - - [19/Jun/2012:22:35:35 +0400] "GET / HTTP/1.1" 301 0 "-" "Mozilla/5.0
Вот как выглядит мой журнал httpd:
127.0.0.1 - - [19/Jun/2012:22:24:46 +0400] "GET /index.php HTTP/1.0" 301 - "-"
-
Адрес WordPress (URL) и Адрес сайта (URL) имеют одинаковые http://domain.com
Добавление proxy_set_header Host $ host; приводит к появлению «На этой веб-странице есть цикл переадресации».
Это также работает, если я использую
location / { proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; }
но не с любыми операторами try_files, которые попадают в другие места.
Это старый вопрос, но, как я понял ...
location ~ \.php$ {
Недостаточно проксировать запросы к WordPress. По сути, вы должны сделать это наоборот:
Явно отправляйте все запросы статических файлов в Nginx:
location ~ \.(css|js|ico|jpg|jpeg|png|gif|svg|pdf)$ { try_files $uri $uri/ /index.html; }
Затем проксируйте остальное в Apache:
location / { proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; }
Пожалуйста, установите proxy_redirect off;
в твоем location ~ \.php$
блок. Для получения дополнительной информации ознакомьтесь с официальной документацией. proxy_redirect.
Вероятно, это не проблема сервера
перейти к http://domain.com/wp-admin/options-general.php после входа в панель управления и убедитесь, что адрес сайта (URL) совпадает с адресом WordPress (URL).