我需要确定一个重定向到另一个页面加载非常早,特别是在init
挂钩。对于任何熟悉的人来说,在init
钩子上,还没有设置或初始化像$pagenow
或$wpdb
这样的全局变量。因此,我必须依靠$_SERVER
Superglobal来确定当前页面。但是使用各种$_SERVER
变量中的哪一个是最安全的呢?我读到一些在特定的环境中并不存在。我检查了我的,我得到了以下结果...
['REQUEST_URI']
<-当前页面,也包含查询字符串,即。/current-page/?some-query-string
['REDIRECT_URL']
<-清除当前页面,即。/current-page/
['SCRIPT_URI']
<-完整URL,不包含查询字符串,即。https://my-domain.tld/current-page/
['SCRIPT_URL']
<-清除当前页面,即。/current-page/
['REDIRECT_SCRIPT_URI']
<-完整URL,不包含查询字符串,即。https://my-domain.tld/current-page/
['REDIRECT_SCRIPT_URL']
<-清除当前页面,即。/current-page/
我需要的是当前页面,没有查询字符串等,所以像REDIRECT_URL
、SCRIPT_URL
、REDIRECT_SCRIPT_URL
这样的东西都可以,但使用这三个中的哪一个最安全?
事先感谢您的回复。
1条答案
按热度按时间idfiyjo81#
如果您尝试将一个页面重定向到另一个页面,那么您应该使用
template_redirect
操作,然后您可以使用函数is_page
检查您的页面,然后使用wp_safe_redirect
可以将您的页面重定向到另一个页面/url。