Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 删除用于SEO改进的查询字符串_.htaccess_Redirect - Fatal编程技术网

.htaccess 删除用于SEO改进的查询字符串

.htaccess 删除用于SEO改进的查询字符串,.htaccess,redirect,.htaccess,Redirect,我刚刚遇到这样一个问题:-->“删除查询字符串”下的检查。它说: “在许多网站上,页面将同时显示page.html和page.html?anything=anything,这会因内容重复而损害您的SEO。解决此问题的一个简单方法是将包含查询字符串的外部请求重定向到相同的uri,而不使用查询字符串。” 我的问题是。。。你如何测试它?我在下面添加了代码: RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/ RewriteCond %{QUERY_STR

我刚刚遇到这样一个问题:-->“删除查询字符串”下的检查。它说:
“在许多网站上,页面将同时显示page.html和page.html?anything=anything,这会因内容重复而损害您的SEO。解决此问题的一个简单方法是将包含查询字符串的外部请求重定向到相同的uri,而不使用查询字符串。”

我的问题是。。。你如何测试它?我在下面添加了代码:

 RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTP/
 RewriteCond %{QUERY_STRING} !^$
 RewriteRule .* http://www.mysite.com%{REQUEST_URI}? [R=301,L]

 RewriteCond %{THE_REQUEST} ^GET\ /.*\;.*\ HTTPS/
 RewriteCond %{QUERY_STRING} !^$
 RewriteRule .* https://www.mysite.com%{REQUEST_URI}? [R=301,L]
但是,如果我访问www.mysite.com/?anything=bla,地址栏中仍会显示此链接?我是否误解了,或者这段代码不应该在没有查询字符串的情况下重定向到mysite.com

另外,我把一个用于HTTP,一个用于HTTPS,对吗?

一个更好的方法——主要搜索引擎支持——是让每个页面使用
指定其规范URL。更详细地说

我会犹豫是否在web服务器中使用重定向,因为这些查询参数应该存在是有原因的(如果它们不存在,最好修复您的页面以除去它们)。不确定为什么浏览器中的地址没有更改;我建议使用Firebug或Fiddler之类的工具来验证301是否已实际返回到您的浏览器。

一个更好的方法是让每个页面使用
指定其规范URL,这是主要搜索引擎所支持的。更详细地说


我会犹豫是否在web服务器中使用重定向,因为这些查询参数应该存在是有原因的(如果它们不存在,最好修复您的页面以除去它们)。不确定为什么浏览器中的地址没有更改;我建议使用Firebug或Fiddler等工具来验证301是否已实际返回到您的浏览器。

“在许多网站上,页面将同时显示page.html和page.html?anything=anything,这会因为重复内容而损害您的搜索引擎优化。”我对此高度怀疑。@Spencer:这个想法是,你的网站有一个固定的pagerank存储桶,它被划分在各个页面中。如果您选择两个具有相同基本pagerank的站点,但其中一个站点的搜索词只有一个页面,而另一个站点有多个页面,则具有单个页面的站点应该具有更高的排名。当然,这只是SEO的一个方面。“在许多网站上,页面将同时显示page.html和page.html?anything=anything,这会因为重复的内容而损害您的SEO。”我对此高度怀疑。@Spencer:这个想法是,您的网站有一个固定的pagerank存储区,该存储区在页面之间。如果您选择两个具有相同基本pagerank的站点,但其中一个站点的搜索词只有一个页面,而另一个站点有多个页面,则具有单个页面的站点应该具有更高的排名。当然,这只是搜索引擎优化的一个方面。如果地址栏中的URL没有改变,我可以保证你没有得到301。如果地址栏中的URL没有改变,我可以保证你没有得到301。