简体   繁体   English

使用htaccess删除结尾的斜杠,但保留查询字符串

[英]Remove trailing slash with htaccess but preserve query string

I am using following directives in my htaccess to remove trailing slashs from my uris to prevent duplicate content. 我在htaccess中使用以下指令从我的uri中删除结尾的斜杠以防止重复的内容。 However these directives also remove any query string, that might be present. 但是,这些指令也删除了可能存在的所有查询字符串。

RewriteCond %{HTTP_HOST} ^(www.)?mydomain\com$ [NC]
RewriteRule ^(.+)/$ http://www.mydomain.com/$1 [R=301,L]

I'd like to know how to remove a potential trailing slash from my URI, but also preserve query strings. 我想知道如何从URI中删除潜在的尾部斜杠,但还要保留查询字符串。

There's a RewriteRule option flag for that: QSA . 有一个RewriteRule选项标志: QSA

Appends any query string from the original request URL to any query string created in the rewrite target 将来自原始请求URL的任何查询字符串附加到在重写目标中创建的任何查询字符串

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM