如何从 .htaccess 的 URL 中删除包含“?”的子字符串

问题描述 投票:0回答:1

消除 URL 中的参数。 对于 Apache 服务器上的“..htaccess”,我需要将“mydomain.org/FramesVar.html?mypath.html”之类的 URL 转换为“mydomain.org/mypath.html”。 “mypath”部分是指向页面名称的变量路径。 URL 的所有其他部分都是不变的。我尝试了很多重写规则,但它们从来都不起作用。而且我在网上搜索也无果。有任何想法吗?我更愿意留在 .htaccess 内。非常感谢。

.htaccess url-rewriting
1个回答
0
投票

基本上:

RewriteCond %{QUERY_STRING} !^$
RewriteRule . /%{QUERY_STRING} [QSD,L]

RewriteCond 检查查询字符串不为空。如果满足该条件,则 RewriteRule 将重写每个请求该查询字符串,并丢弃带有

QSD
标志的先前查询字符串。

如有必要,您还可以更具体地指定要匹配的查询字符串 - 例如,如果您只想重写查询字符串以

.html
结尾的内容,则可以使用

来实现
RewriteCond %{QUERY_STRING} \.html$
© www.soinside.com 2019 - 2024. All rights reserved.