php – 从nginx重定向中删除端口
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 从nginx重定向中删除端口,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1743字,纯文字阅读大概需要3分钟。
内容图文
我遇到一个问题,网站上的某些重定向包含了代理传递端口,使它们无用.我的配置如下:
物理服务器1:
server {
server_name example.com www.example.com;
location / {
proxy_pass http://1.1.1.1:50493;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host "example.com";
}
}
物理服务器2:
server {
listen 50493;
server_name example.com www.example.com;
set_real_ip_from 1.1.1.1;
root /var/www/example.com;
index index.php index.htm index.html;
location / {
if ($http_host !~ "^example.com"){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/(.*) http://example.com/$1 permanent;
}
rewrite /[^/]+/([0-9]+)-[^/]+.html http://example.com/showthread.php?t=$1 permanent;
}
location ~ .php${
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example.com$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 600s;
fastcgi_buffer_size 512k;
fastcgi_buffers 16 512k;
}
}
一般来说,浏览工作正常.该网站可以按照人们的预期浏览.但是一些重定向的链接(例如,在登录操作之后),重定向到包含端口50493的链接.所以我们以http://example.com:50493/index.php为例.那样不行.我的问题是,如何删除端口?
据我所知,论坛软件从php会话端口变量获取端口.我已经尝试关闭port_in_redirect,但无济于事.如果有帮助,这里突出显示的问题:http://kb.parallels.com/en/114425是类似的.
谢谢.
解决方法:
它会告诉您如何在您提供的链接中解决问题.更改:
<?php echo $VAR->domain->asciiName ?>:<?php echo $OPT['ssl'] ? $VAR->server->webserver->httpsPort : $VAR->server->webserver->httpPort ?>"
至
<?php echo $VAR->domain->asciiName ?>"
您必须在应用程序中而不是在Nginx中修复此问题.
您的应用程序正在生成指向端口50493 like this的链接.除非您要设置通过所有HTML的内容过滤器并使用example.com/path/of替换example.com:50493/path/of/url / url然后你必须在应用程序内修复它.
内容总结
以上是互联网集市为您收集整理的php – 从nginx重定向中删除端口全部内容,希望文章能够帮你解决php – 从nginx重定向中删除端口所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。