重复的 WordPress 源网址

重复的 WordPress 源网址

如何创建 nginx 规则来复制 wordpress feed url。实际上,我想要两个版本的 feed,一个缓存,一个不缓存,以模拟 AWS Cloudfront 缓存行为。两个 url 都应该正常运行。对于 feed 间服务,将使用非缓存版本。

我尝试了 chatgpt 推荐的几种方法,但对我不起作用。请提供最佳且最可行的方法来实现此目的。

www.example.com/request_uri/feed/复制到www.example.com/request_uri/abc-feed/。

答案1

要创建 Nginx 规则来复制 WordPress feed URL,您可以按照以下步骤操作:

打开您的 Nginx 配置文件。此文件通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/your-site。

将以下代码添加到您的 Nginx 配置文件:

location /feed/ {
    proxy_pass http://your-wordpress-site.com/feed/;
    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_set_header X-Forwarded-Proto $scheme;
}

location /feed-cached/ {
    proxy_pass http://your-wordpress-site.com/feed/;
    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_set_header X-Forwarded-Proto $scheme;
    proxy_cache your_cache_zone;
    proxy_cache_key $uri$is_args$args;
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 404 1m;
}

代替http://your-wordpress-site.com/feed/使用您的 WordPress feed 的实际 URL。

将 your_cache_zone 替换为您的缓存区域的名称。如果您尚未定义缓存区域,则可以将其添加到 Nginx 配置文件的 http 块中:

http {
    ...
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=your_cache_zone:10m inactive=60m;
    ...
}

保存更改并退出文本编辑器。

测试你的 Nginx 配置是否存在语法错误:

sudo nginx -t

如果没有错误,请重新启动 Nginx 以应用更改:

sudo systemctl restart nginx

现在,你应该能够访问你的 feed 的缓存版本http://your-website.com/feed-cached/而非缓存版本位于http://your-website.com/feed/

相关内容