0

上周我不得不重新设计一个网站。问题是最后一个 url 对 seo 不友好,所以为了避免谷歌因为太多的 404 错误而惩罚我的网站,我必须创建很多重写规则,因为所有内容都有糟糕的 URL(并且内容有一个很好的SERP 上的位置)。

例如:

RewriteRule ^documents/documents_for_subject/22-ecuaciones-exponenciales-y-logaritmicas http://%{HTTP_HOST}/1o-bachillerato/matematicas-cc.ss/aritmetica-y-algebra/ecuaciones-exponenciales-y-logaritmicas [R=301,L]

这对我的表现有问题吗?我的情况还有其他解决方案吗?

谢谢

4

2 回答 2

2

它们在同一个域中。

然后内部重定向要好得多。标头重定向将新 URL 发送到浏览器并使其发出新请求;顾名思义,内部处理是内部处理的。

这应该有效:

RewriteRule ^documents/documents_for_subject/22-ecuaciones-exponenciales-y-logaritmicas /1o-bachillerato/matematicas-cc.ss/aritmetica-y-algebra/ecuaciones-exponenciales-y-logaritmicas [L]

任何性能问题都可以忽略不计——除非你有成千上万条单独的规则,否则这些规则可能会减慢 Apache。在这种情况下,如果您有权访问中央服务器配置,请将规则放在那里而不是 .htaccess 文件,因为服务器配置中的指令存储在内存中并且速度更快。

于 2013-03-15T19:13:49.987 回答
1

A. 是的,使用 301 是通知搜索机器人有关更改的 URL 的正确方法,最终您的旧 URL 将从搜索结果中删除。

B. 你不需要%{HTTP_HOST}在你的重写规则中使用它,就像这样使用它:

RewriteRule ^documents/documents_for_subject/22-ecuaciones-exponenciales-y-logaritmicas http://%{HTTP_HOST}/1o-bachillerato/matematicas-cc.ss/aritmetica-y-algebra/ecuaciones-exponenciales-y-logaritmicas [R=301,L]

C. 如果你有很多像上面这样的 RewriteRules,我建议使用RewriteMap或者使用一些脚本支持(如 PHP)从旧的 URL 重定向到新的 301。

于 2013-03-15T20:14:36.060 回答