0

我的 wordpress 站点运行一个下载监视器插件(旧版),它生成带有查询字符串的 URL,例如:( example.com/blog/download/?did=1数字是增量的)

我想使用 WP Super Cache 插件对这些页面进行超级缓存,似乎只有在 URL 不包含查询字符串的情况下才有可能。

我认为最好重写:

example.com/blog/download/?did=1

example.com/blog/download/did/1

(我不确定是否应该在 URL 末尾添加一个斜杠)

我参考了这个站点的一些示例,我得到的最接近的是以下重写规则,但不起作用。

RewriteCond %{QUERY_STRING} ^did=([0-9]*)$
RewriteRule ^.*$ /download/did/%1? [NE,R]

有人能指出我错过了什么让这个重写工作吗?谢谢。

4

1 回答 1

0

这只会将带有查询字符串的 URI 重写为不带的 URI。wordpress 插件可能不会理解这一点。您需要在内部将其重写:

RewriteCond %{THE_REQUEST} \ /blog/download/?\?did=([0-9]+)
RewriteRule ^ /blog/download/did/%1? [L,R=301]

RewriteRule ^blog/download/did/([0-9]+)/?$ /blog/download/?did=$1 [L,QSA]
于 2013-11-14T04:31:41.107 回答