Http URL重定向;对于一般用途,哪一个更好:服务器端还是客户端?
以一个非常简单的案例为例,假设我有以下URL:Http URL重定向;对于一般用途,哪一个更好:服务器端还是客户端?,http,url,redirect,seo,webserver,Http,Url,Redirect,Seo,Webserver,以一个非常简单的案例为例,假设我有以下URL: http://www.example.com/65167.html 我希望通过以下方式提供该内容: http://www.example.com/about 更新:请注意,“坏”URL是规范的URL(它由CMS生成,CMS内部使用它进行链接),因此“/about”只是一种改进它的方法 我有两个广泛的选择:服务器端重定向或客户端重定向。我一直认为服务器端会更好,因为它更高效,也就是说HTTP流量大约减少了一半。然而,SEO技术倾向于为一个资源使用
http://www.example.com/65167.html
我希望通过以下方式提供该内容:
http://www.example.com/about
更新:请注意,“坏”URL是规范的URL(它由CMS生成,CMS内部使用它进行链接),因此“/about”
只是一种改进它的方法
我有两个广泛的选择:服务器端重定向或客户端重定向。我一直认为服务器端会更好,因为它更高效,也就是说HTTP流量大约减少了一半。然而,SEO技术倾向于为一个资源使用一个URL,因此客户端是首选
如何解决此冲突,以及我是否忽略了其他因素?Apache HTTPD的mod_rewrite可以让浏览器在其位置栏中显示SEO友好的URL,同时重定向到服务器上的数字URL:
RewriteEngine on
RewriteRule ^/about$ /65167.html [L]
我很肯定谷歌理解。如果你从/即将从/65167.html重定向到/65167.html,301是解决这个问题的错误方法。您的CMS将只理解65167.html 请求,但301基本上是告诉谷歌/about不再存在,并为65167.html页面编制索引 伊格纳西奥是正确的。根据您的平台,您需要实现mod_rewrite或类似功能,并隐藏CMS,前提是您可以将所有CMS生成的链接重新写入更友好的内容
客户端重定向可能过于复杂,无法实现,而服务器端重定向将导致向服务器发出两个请求。虽然这是一个选项,但并不能解决问题:同一资源仍然存在两个URL。事实上,最令人讨厌的是规范化的(我会更新这个问题来提及),所以我不认为这个修复是我想要的。你可以使用另一个重定向规则对传入请求“隐藏”65157.html URL。使用服务器端的重新映射,搜索引擎无法知道什么是“规范的”,所以如果你不链接到“丑陋的”URL,他们可能不会找到它。不幸的是,根据我的问题编辑,生成这些URL的CMS也会生成指向它们的链接,因此它们将保持公开。呃!在这种情况下,您必须将“(id).html”301改为“about”,然后将“about”改回“(id).html”。是的,这将涉及到对每个页面不必要的HTTP请求,并且可能会减慢Googlejuice的传播速度。更好的计划:修复CMS链接到正确的URL。你是对的。我不知道我在想什么。我会删除我愚蠢的答案。