Wordpress将端口8080上的连接重定向到80


9

我有一个wordpress博客,由Ubuntu 12.04上的apache2(在端口80上)和nginx(在端口8080上)提供。现在,每当客户端通过端口80连接时,一切都是笨拙的,但是当客户端连接到8080以查看同一博客时,该连接将重定向到apache。为什么会这样呢?我四处搜索,发现这是Wordpress的限制,它将所有连接重定向到仪表板中设置的站点URL(默认为端口80)。

有没有解决的办法?到端口8080的连接将由Nginx提供服务,而不是由Apache提供服务

/ etc / nginx / sites-enabled / wordpress的内容

server {
listen   8080;

root /var/www;
index index.php index.html index.htm;

server_name abc.com;

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
}

location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
        root /usr/share/nginx/www;
}

location ~ \.php$ {

        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param   SERVER_PORT 8080;
        port_in_redirect off;
}

任何帮助表示赞赏。


2
WP只能配置为在一个端口上运行。这要么是mysite.commysite.com:8080不能同时使用。当有人通过8080看待WP(但配置为80),WP可能会显示该页面,但所有的链接将是80
user42826

您为什么要像这样运行该网站?
Seamus Leahy 2014年

@ user42826我已经将apache配置为使用8080,并且正如您所描述的,到css,图像和其他资产的所有链接都断开了。您如何建议解决无法删除重定向的问题?我见过很多人建议在设置中的网址中添加:8080,但这感觉不对。除了apache,我不需要配置WP,不是吗?
user658182 2014年

Answers:


11

我解决了!就是这样:

编辑当前主题,functions.php并在打开的PHP标记后添加以下行以禁用规范重定向。

remove_filter('template_redirect','redirect_canonical'); 保存并退出。

重新启动apache2和nginx并使用进行检查curl -I IP


1

同样的问题。在我的情况下,我将服务器端口设置为3030,以容纳其他服务器。无论如何,无需在任何functions.php文件中添加任何代码,我通过将表中的site和home值更改wp_options为domain和port设置解决了该问题。

例如,

site     http://localhost:3030
home     http://localhost:3030

从那里一切似乎一切正常。👍

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.