我想重写我的网址,以便每当有一个?时,它就会被移除。
我有各种字符串,例如:
....html?frame=...
....html?sport=...
....html?type=...
所以要轻松一点,如果有的话?在网址的任何地方,它都应该被截断。
(顺便说一句,我已经将.php重写为.html)
非常感谢。
答案 0 :(得分:1)
正如评论中所指出的那样:
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*)$ /$1?
工作,但OP说它还原了php - > html扩展转换回来。
尝试在之前添加php / html重写:
RewriteRule ^(.*)\.php$ /$1.html
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*)$ /$1? [L,R=302]
我刚尝试过,我遇到了RewriteBase
的一些问题,您可能需要设置此问题才能使用。否则,看起来很好。
答案 1 :(得分:0)
来自mod_rewrite documentation(强调我的):
修改查询字符串
默认情况下,查询字符串不会更改。但是,您可以在包含查询字符串部分的替换字符串中创建URL。只需在替换字符串中使用问号,即表示应将以下文本重新注入查询字符串。 如果要删除现有查询字符串,请仅使用问号结束替换字符串。要合并新旧查询字符串,请使用[QSA]标记。