0

我制作了一个网站的静态图像,并通过重写规则链接了 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=

不成功 - 请求始终只附加在重定向的静态文件中。

我怎样才能实现 Feed 请求确实由 cms 处理?

我的背景是,尽管存在复杂的缓存机制,但它们都没有像共享主机的静态文件那样响应。提前致谢!

编辑:我来时最近的似乎

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

但是,当定向到静态版本时,这会导致尾部斜杠太多......

4

1 回答 1

1

你可以只测试format=feed. 无需进一步的上下文

RewriteCond %{QUERY_STRING} !format=feed

或者你可以反过来做并明确重写为index.php

RewriteCond %{QUERY_STRING} format=feed
RewriteRule ^$ /index.php [L]
于 2013-03-13T21:17:17.920 回答