我的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]
有人可以指出我错过了什么让这次重写工作?感谢。
答案 0 :(得分: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]