.htaccess 301重定向对包含查询字符串的URL有效吗?

.htaccess 301重定向对包含查询字符串的URL有效吗?,.htaccess,http-status-code-301,.htaccess,Http Status Code 301,我已经搜索过了,但我找到的答案似乎是关于重写URL或重定向整个部分中的许多页面,看起来很混乱(很多正则表达式) 我们需要添加一些301重定向,除了13个包含查询字符串的URL之外,一切都正常工作 重定向这些类型的URL有什么诀窍吗 Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=39 /blogsearch/Coffee Redirect 301 /blogsearch/?akID%5B30%5D%5BatSe

我已经搜索过了,但我找到的答案似乎是关于重写URL或重定向整个部分中的许多页面,看起来很混乱(很多正则表达式)

我们需要添加一些301重定向,除了13个包含查询字符串的URL之外,一切都正常工作

重定向这些类型的URL有什么诀窍吗

Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=39 /blogsearch/Coffee
Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=26 /blogsearch/Food
Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=27 /blogsearch/Wine
Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=29 /blogsearch/Travel
Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=37 /blogsearch/Hotel
Redirect 301 /blogsearch/?akID%5B30%5D%5BatSelectOptionID%5D%5B%5D=49 /blogsearch/Apartments
任何帮助都将不胜感激

干杯


是的,有个小把戏。不能对查询字符串使用
重定向
指令

您可以使用
mod rewrite
执行类似操作。只需为每个链接更改相应的查询字符串值

RewriteEngine On
RewriteCond %{QUERY_STRING} (.+)=39
RewriteRule ^blogsearch/?$ /blogsearch/Coffee? [L,NC,R=301]
RewriteCond %{QUERY_STRING} (.+)=26
RewriteRule ^blogsearch/?$ /blogsearch/Food? [L,NC,R=301]
RewriteCond %{QUERY_STRING} (.+)=27
RewriteRule ^blogsearch/?$ /blogsearch/Wine? [L,NC,R=301]
RewriteCond %{QUERY_STRING} (.+)=29
RewriteRule ^blogsearch/?$ /blogsearch/Travel? [L,NC,R=301]
RewriteCond %{QUERY_STRING} (.+)=37
RewriteRule ^blogsearch/?$ /blogsearch/Hotel? [L,NC,R=301]
RewriteCond %{QUERY_STRING} (.+)=49
RewriteRule ^blogsearch/?$ /blogsearch/Apartments? [L,NC,R=301]

非常感谢你的回答,我现在明白了重写!然而,我添加了这些规则,重新加载了apache,但它们似乎不起作用。我们有其他关于漂亮URL的重写规则,所以我在这些规则之后,在同一个
中添加了它们-听起来正确吗?也在他们自己的if语句中尝试了它们。这些都放在了你的.htaccess文件或apache配置中吗?另外,我会把这些放在任何其他规则之前,我看不到你有什么,但这是一个安全的赌注。感谢堆,我把它们放在了.htacces中的任何其他规则之前,它可以工作。只是一个简单的问题,这真的解决了重复内容的问题吗?因为很明显,重复的链接仍然存在,所以谷歌可能仍然会在链接被正确写入之前对其进行索引?301显示这是永久性的新URL,所以一旦谷歌重新索引,它就应该可以了。