使用查询字符串go here,不使用go there,.htaccess重定向
我制作了一个网站的静态图像,并通过重写规则链接html文件:使用查询字符串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
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]