>백엔드 개발 >PHP 튜토리얼 >apache前端+nginx后端,nginx如何rewrite正确的地址

apache前端+nginx后端,nginx如何rewrite正确的地址

WBOY
WBOY원래의
2016-06-06 20:41:371142검색

运行环境
centos 6.5 + lanmp
apache作后端,nginx作前端
软件: wordpress

nginx虚拟主机配置如下:
server {
listen 80;
server_name xxx.com;
root /var/www/xxx/html;
index index.html index.htm index.php;

<code>#这句是wordpress的rewriter语句
location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
}

#php文件转发给apache处理
location ~ \.(php)?$ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080;
}
</code>

}

如果是在lnmp环境下,下面的rewrite语句是没问题的
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

但在lanmp环境下,点击地址后,地址栏的地址是变了,显示的页面却是首页。不知道是哪里错了?

固定链接样式:http://xxx.com/xxx/

回复内容:

运行环境
centos 6.5 + lanmp
apache作后端,nginx作前端
软件: wordpress

nginx虚拟主机配置如下:
server {
listen 80;
server_name xxx.com;
root /var/www/xxx/html;
index index.html index.htm index.php;

<code>#这句是wordpress的rewriter语句
location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
}

#php文件转发给apache处理
location ~ \.(php)?$ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080;
}
</code>

}

如果是在lnmp环境下,下面的rewrite语句是没问题的
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}

但在lanmp环境下,点击地址后,地址栏的地址是变了,显示的页面却是首页。不知道是哪里错了?

固定链接样式:http://xxx.com/xxx/

<code>location / {
    try_files $uri @apache ;
}

location @apache {
    internal;
    proxy_pass http://127.0.0.1:8080;
}
</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.