防止CDN的规范重定向

时间:2013-11-06 作者:kingkool68

我想通过CDN运行我的整个WordPress站点以提高性能(HTML,而不仅仅是静态CSS/JS/media)。假设源服务器就是一个例子。com和www.example。com是一个URL,在该URL中,流量将通过CDN设置作为源拉入。

问题是,访问www.example时将创建一个无限循环。com将请求传递给WordPress,WordPress将查看请求并说“实际上,根据设置中定义的home\\u url和site\\u url,这应该是www.example.com”。。。

1) 有没有一种简单的方法可以让WordPress在特定条件下停止重定向到www(例如检查将添加到通过CDN的请求中的x-forwarded-for标头)?

2) 我是否必须设置一个常量来更改CDN请求的站点URL,然后设置某种输出缓冲回调来替换http://example.comhttp://www.example.com ?

我知道有一些插件可以处理这个问题。我想自己动手,这样我才能弄明白这一切是怎么回事。任何指导都将不胜感激。

3 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

这不能按您想要的方式工作。如果wordpress在示例中。然后所有自动生成的链接都将指向示例。com甚至对于www.example下的CDN上的页面。com域。这将导致在CDN提供第一个页面后,许多其他页面将直接从wordpress提供。

从检查代码来看,执行此操作的代码是深入的redirect_canonical 所以要么你需要写下你自己的修正

remove\\u action(“template\\u redirect”,“redirect\\u canonical”);

add\\u action(\'template\\u redirect\',\'wpsr12150\\u redirect\\u canonical\');

函数wpsr12150\\u redirect\\u canonical(){//不带www重定向的代码}

但在中处理它可能更容易。例如,htaccess文件,使其始终从传入请求中删除www

是的

SO网友:kingkool68

我确实设法让它起作用了。以下是我所做的详细信息,以防你想做同样的事情:https://gist.github.com/kingkool68/7421460

SO网友:CKGrafico

经过两天的搜索,我终于找到了问题的答案

//禁用WordPress的规范URL重定向功能Remove\\u filter(\'template\\u Redirect\',\'Redirect\\u Canonical\');

从…起https://taylor.callsen.me/settings-up-aws-cloudfront-in-front-of-wordpress/

结束

相关推荐

blog url redirecting

我曾经在服务器(srv71)上用域名主持一个word press博客和一个论坛。几天前,我将整个站点转移到了一个新服务器(srv14),但我没有更新dns,我已经关闭了以前的服务器srv71。所以访问我的。领域姓名/博客或我的。领域名称/phpbb将导致超时错误。我尝试使用IP地址连接我的新博客和论坛,但出现了此问题。访问论坛没问题(我的ip地址14/phpbb),但博客会试图将我重定向到我的。领域姓名/博客,不是我的。ip。地址:。14/博客。我查看了wp配置。php并找到以下行:define( \'D