Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:
以下是一些问题:
- 我的网站已经准备好了吗?
- 哪种重定向最适合我的情况?
- 我会失去我到目前为止完成的所有SEO工作吗?
- Google会惩罚我吗? 如果我取消重定向会怎样?
- 他们是如何做?
- 如何解决错误302? (如果发生)
在本文中,我将回答所有这些问题,以便使您在每种情况下都更加清楚。
什么是302重定向?
Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a 301重定向 就是说,在302重定向的情况下,SEO的强度不会转移到新的URL。
这是因为已将这种重定向设计为在需要将内容重定向到不是最终页面的页面时使用。
因此,一旦取消了重定向,原始页面就不会失去其在Google搜索引擎中的位置。
尽管我们发现自己需要302重定向并不是很常见,但在某些情况下此选项可能非常有用。 这些是最常见的情况:
- 当我们意识到页面上有一些不适当的内容时。 在解决问题的同时,我们可以将用户重定向到可能感兴趣的另一个页面。
- 如果对我们网站的攻击需要恢复任何页面,则此重定向可以帮助我们将发生率降到最低。
重定向302是一个代码,用于告知特定URL的访问者该页面已被临时移动,将他们直接定向到新位置。
换句话说,当Google机器人或其他搜索引擎请求加载特定页面时,重定向302被激活。 此时,由于此重定向,服务器返回了指示新URL的自动响应。
这样,避免了搜索引擎和用户的错误和烦恼,从而确保了流畅的导航。
重定向302的作用是什么?
重定向302用于例如具有不同语言的主页的多个版本。
The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.
这样,动员了 Web流量 可以实现,但与此同时,主页的SEO级别的影响并未减弱。 如前所述,即使没有授权转移,这种情况仍在继续增长。
HTTP 302重定向示例
The most common HTTP 302 redirect example case is Google.
无论您访问哪个国家/地区,如果您键入 https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.
如果是德国,302自动将我们带到 https://www.google.de/ 这样我们就可以搜索德语内容。
成功的公司(例如可口可乐甚至富士通)的门户网站也使用此系统将流量重定向到他们认为最方便的位置。
What causes HTTP 302 error?
Here are some of the most common reasons for the 302 redirect error:
- 域移动时使用302重定向;
- 移动文档时创建302重定向;
- 在站点协议更改期间使用302重定向;
- 网站结构发生变化时,创建302重定向。
当将原始请求的方法应用于目标URL的请求时(例如,将使用POST方法的表单指令的URL移动特定的时间),建议不要使用HTML重定向302。
如果要将SEO权重转移到目标URL,则不应使用状态码302。
How to identify HTTP 302 error?
验证301和302重定向 设置正确 很容易
When entering into the address bar of the old address, we observe what is happening.
The change of address indicates that everything is fine with the redirect.
The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.
还有另一个选项–申请检查对在线服务的服务器响应代码,例如http://example.com/e_redirect/。
如果正确设置了重定向,则在输入域名后,您将看到响应代码301或302。这取决于您最初计划接收的重定向类型。
某些服务还会在重定向后显示服务器给出的代码,这里只有一个有效选项– 200 OK。
How to fix HTTP 302 error?
方法1:检查服务器配置
该应用程序可以在使用这两种最常见的Web服务器程序之一(Nginx或Apache)的服务器上运行。 这两个Web服务器占全球Web服务器程序的84%以上!
Therefore, the first step in determining the 302 response code is checking the mandatory redirect instructions in the webserver program configuration file.
对于Apache Web服务器
步骤1:在服务器上打开.htaccess文件
To identify the webserver, you need to find the key file. If you are using the Apache web server, locate the .htaccess file in your site’s root filesystem.
例如,如果您的程序位于共享主机上,则可能会将用户名链接到主机帐户。 在这种情况下,通常,应用程序根目录位于路径中:
/home/<username>/public_html/path, thus the .htaccess file is located at /home/<username>/public_html/.htaccess.
步骤2:找到mod_rewrite指令
找到.htaccess文件后,请在文本编辑器中将其打开,然后找到使用属于Apache mod_rewrite模块的RewriteXXX伪指令的行。
但是,核心思想是RewriteCond指令概述了与注册URL比较的文本模型。 当访问者在站点上请求相应的URL时,跟踪一个或多个RewriteCond指令的RewriteRule指令实际上会将请求重定向到相应的URL。
例如,以下内容是RewriteRule和RewriteCond的简单组合,它满足example.com的所有要求,但是将临时重定向插入到临时域example.com中的相同URI中:
RewriteCond上的RewriteEngine%{HTTP_HOST} ^ example \ .com $ RewriteRule ^(。*)$ HTTP://www.temporary-example.com/$1 [R = 302]
请注意RewriteRule底部的附加横幅,它清楚地说明了响应代码必须为302,向浏览器代理显示这是一个临时重定向。
步骤3:重置.htaccess文件中的指令
#在RewriteBase / RewriteRule ^ index \ .php $上开始WordPress RewriteEngine – [L] RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 /index.php [L]#END WordPress
因此,如果您的.htaccess文件中出现异常的RewriteRule或RewriteCond指令,似乎不适合该指令,请尝试对其进行临时注释(以#开头),然后重新启动网络服务器以检查问题是否得到解决。
对于Nginx Web服务器
步骤1:打开nginx.conf文件
如果您的Web服务器在Nginx上运行,则应查找完全不同的配置文件。 默认情况下,此文件被指定为nginx.conf,位于以下列出的常见目录之一中:
/ usr / local / nginx / conf,/ etc / nginx或/ usr / local / etc / nginx。
步骤2:在nginx.conf文件上重写指令
检测到之后,请在文本编辑器中打开nginx.conf文件,并找到与重定向指示符相关的重写指令。
例如,这是一个普通的块伪指令(声明为一组语句),该伪指令通过生成从abc.com到临时abc.com的临时重定向来设置虚拟服务器:
服务器{收听80; 听443 ssl; server_name www.abc.com; 重写^ / $ http://www.temporary-abc.com重定向; }
Nginx重写指令与Apache RewriteRule和
RewriteCond,因为它们通常包含更复杂的面向文本的搜索模式。
步骤3:检查nginx.conf文件的替换策略
无论如何,请在nginx.conf文件中查找包含重定向标志(其他永久标志返回响应代码301)的异常替换策略。
重新启动服务器之前,请注意所有异常,以检查问题是否得到解决。
方法2:搜索过时的软件
RFC for HTTP 1.0的规范文档指出,“ 302 Found”响应代码的目的旨在指示客户端应执行临时重定向。
However, many new browsers will process the code 302 received through the POST request as an invalid GET request.
This has triggered snags and confusion with particular web server programs that attempt to force the browser to perform the right work when it needs to be redirected temporarily.
为了解决此问题,RFC HTTP 1.1规范文档返回了303个响应代码,另一个307个临时重定向,这是管理POST-GET或临时,临时响应的一种可理解的方式。
方法3:清理日志
几乎所有的Web应用程序都将记录存储在服务器上。 应用程序日志通常表示应用程序历史记录,例如请求和连接的页面,服务器,从提供的数据库中获取的页面等。
服务器日志连接到运行程序的当前设备,通常包含有关所有已连接服务的状态和运行状况的信息,甚至包括有关服务器的信息。
启动自定义应用程序时,Google在CMS中记录[PLATFORM_NAME]或使用[PROGRAMMING_LANGUAGE]注册并注册[OPERATING_SYSTEM],以获取更多信息以获取这些记录。
方法4:修复应用程序代码
在这种情况下,所有上面讨论的方法都失败了,问题可能出在引起问题的应用程序的用户代码中。
尝试通过手动找到应用程序并在服务器和应用程序日志文件中进行分析来确定问题的原因。
将完整的应用程序复制到本地开发计算机并逐步执行,以查看302扫描到底发生了什么,并查看每个应用程序的代码是一个好主意。
HTTP 302 Error: Conclusion
最后,正如您所看到的,我们不必担心HTTP 302重定向错误。 多年来,它们是避免在我们的网页上失去流量的一种绝妙的方法,因为多年来发生了不可避免的变化。
I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
无论您是要对帖子做出贡献,还是有任何疑问或者只是想发表您的意见,请在下面发表评论!