【发布时间】:2019-06-25 13:01:31
【问题描述】:
我有一个新安装的 wordpress 来替换旧网站。 在旧网站中,有一个动态的用户推荐 mysite.com/123456 或 mysite.com/somename
现在我必须能够拦截 / 然后 123456 或 somename 之后存在的所有内容,以将其保存在会话变量或 cookie 中,(我有完整的访问服务器)。
我用这段代码做了一些测试:
location / {
add_header Set-Cookie "secret_code=$args;Domain=$site_name;Path=/;Max-Age=31536000;Secure;HTTPOnly" always;
try_files $ uri $ uri / /index.php?$args;
}
但我发现自己作为其他参数的值,很可能用于使 wordpress 本身产生的调用
还有这个:
location ~ ^/(.+)$ {
add_header Set-Cookie "secret_code=$1;Domain=$site_name;Path=/;Max-Age=31536000;Secure;HTTPOnly" always;
try_files $ uri $ uri / /index.php?$args;
}
但这在 nginx 中不起作用,因为它不运行 PHP,并且需要下载
解决这个问题的最好方法是什么
谢谢大家
【问题讨论】:
-
目前我已经 解决了,方法是在 wordpress 中编写一个插件,该插件获取 / 之后存在的所有内容并将其保存在 cookie 中。显然检查 url 的一部分是 404,所以我传递了用于 wordpress 工作的调用的正确路径。但是如果通过nginx解决总是更好,也许其他人也需要它
标签: regex wordpress url nginx url-redirection