Откуда может возникать циклический редирект с кодом 301 на всех страницах?
Установите везде одинаково — с ввв или без оного. В тч и в настройках хостинга.
Поэкспериментировал с настройками хостинга. У меня на 80 порту висит nginx, поэтому apache пришлось запустить на порту 8080. И если отправить запрос на этот порт, предварительно установив его в WP_HOME/WP_SITEURL
define('WP_HOME', 'http://mysite.domain.ru:8080');
define('WP_SITEURL', 'http://mysite.domain.ru:8080');
то все нормально — никаких переадресаций не возникает. А если проксировать запрос через nginx, исправив соответствующим образом WP_HOME/WP_SITEURL
define('WP_HOME', 'http://mysite.domain.ru');
define('WP_SITEURL', 'http://mysite.domain.ru');
то как раз и возникает циклическая переадресация. Вот настройки nginx для домена:
server {
listen 80;
server_name mysite.domain.ru;
charset utf-8;
root /home/alexvr/mysite.domain.ru;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
дальше настройки страниц ошибок и т.п.
Как видите, название домена везде одинаковое. Однако явно Вордпрессу что то не нравится в настройках прокси. Понять бы что именно.
Модератор
Yui
(@fierevere)
永子
location ~ \.php$ {}
блок переместите выше чем
location / {} его в конец всех правил блока server {}
ps: еще от любопытных глаз нужны запрещающие правила
location ~ /\.ht { deny all; }
location ~ ^/wp-content/cache { deny all; }
location ~* /(?:uploads|files)/.*\.php$ { deny all; }
типа такого, их тоже выше location /
Модератор
Yui
(@fierevere)
永子
expires добавляете так
location ~* ^.+\.(jpg|jpeg|png|ico|gif|swf|woff|ttf|css|js)$ { expires 4w; }
Доброго всем времени суток. Переместил блоки, все равно не работает. Вот полный текст конфига сайта nginx (доменное имя изменено):
server {
listen 80;
server_name mysite.domain.ru;
charset utf-8;
#access_log /var/log/nginx/log/host.access.log main;
root /home/alexvr/mysite.domain.ru;
index index.php index.html index.htm;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#access_log /var/log/nginx/proxy.access.log main;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
location ~ /(?:uploads|files)/.*\.php$ {
deny all;
}
location ~ ^/wp-content/cache {
deny all;
}
location / {
try_files $uri $uri/ /index.php;
}
}
и конфиг виртуал хоста apache2:
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName mysite.domain.ru
AddDefaultCharset utf-8
DocumentRoot /home/alexvr/mysite.domain.ru
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/alexvr/mysite.domain.ru>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined
</VirtualHost>
Проверил: заголовок Host в апач приходит правильный. При этом вордпресс делает циклический редирект, а все остальные php файлы открываются нормально.
Может быть, кто нибудь знает, в каком файле находится функция, вызывающая этот редирект?
Модератор
Yui
(@fierevere)
永子
вообще у вас миксовый конфиг, такой обычно делают для fastcgi, но не для апача, рецепты в сети сейчас все какие то тоже «слишком умные»
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
при отсутствии остальных блоков будет проксировать все на апач
для статики имеет смысл добавить перед ним еще
root /usr/share/nginx/html;
location ~* ^.+\.(woff|ttf)$ { expires max; add_header Vary Accept-Encoding; gzip on; }
location ~* ^.+\.(jpg|jpeg|png|ico|gif|swf)$ { expires 4w; }
location ~* ^.+\.(css|js)$ { expires 7d; add_header Vary Accept-Encoding; gzip on; }
дальше тот что выше location / …
все остальное уйдет на апач, со всеми .htaccess правилами и прочими радостями.