使用查询字符串go here,不使用go there,.htaccess重定向

使用查询字符串go here,不使用go there,.htaccess重定向,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我制作了一个网站的静态图像,并通过重写规则链接html文件: RewriteRule ^$ static/index.html [L] RewriteRule ^stuff$ static/stuff.html [L] 等等。我知道,这不是最聪明的方法,但它是有效的。 现在的问题是:我希望如此 domain.com/?format=feed&type=rss 由仍然位于根目录中的cms的index.php再次处理。我的尝试像 RewriteCond %{REQUEST_FIL

我制作了一个网站的静态图像,并通过重写规则链接html文件:

RewriteRule ^$ static/index.html [L]
RewriteRule ^stuff$ static/stuff.html [L]
等等。我知道,这不是最聪明的方法,但它是有效的。 现在的问题是:我希望如此

domain.com/?format=feed&type=rss
由仍然位于根目录中的cms的index.php再次处理。我的尝试像

RewriteCond %{REQUEST_FILENAME} !feed=
未成功-请求始终仅附加在重定向的静态文件中

我如何才能实现提要请求确实由cms处理? 我的背景是,尽管存在复杂的缓存机制,但它们中的任何一个都不如用于共享主机的静态文件响应快。提前谢谢

编辑: 就像我来的时候

RewriteCond %{QUERY_STRING} !^(.*&)?format=feed
RewriteRule ^(.*)$ static/%{REQUEST_URI}.html [L,QSA,R=301]

但是,当指向静态版本时,这会导致后面的斜杠太多…

您可以只测试
format=feed
。不需要进一步的背景

RewriteCond %{QUERY_STRING} !format=feed
或者你也可以反过来做,并显式地重写到
index.php

RewriteCond %{QUERY_STRING} format=feed
RewriteRule ^$ /index.php [L]