htaccess - 需要修复来自其他网站的破碎链接

时间:2013-09-22 19:55:33

标签: .htaccess

我遇到一个问题,Google网站管理员工具报告了大量来自ask.com的404网站链接。

我试图让ask.com修复他们的一面,但当然他们不是,所以现在我遇到了超过11k的错误链接到我的网站,我怀疑它正在影响我的排名。

无论如何,我有一种可能的方法来填充它们,但不确定如何使用.htaccess

这是指向我网站的错误链接

http://www.freescrabbledictionary.com/sentence-examples/fere-film/feverous/about.php

应该是

http://www.freescrabbledictionary.com/sentence-examples/fere-film/feverous/

about.php之外还有其他结尾变体,我基本上需要能够删除结尾。

问题是/sentence-examples/之后的网址可能会发生变化。始终是:

http://www.freescrabbledictionary.com/sentence-examples/

基本上是这样的:

http://www.freescrabbledictionary.com/sentence-examples/<-keep but can change->/<-keep but can change->/<-remove this->

2 个答案:

答案 0 :(得分:1)

.htaccess应放在sentence-examples

之前的文件夹中
RewriteEngine on

# Redirect /sentence-examples/anything/anything/remove to /sentence-examples/anything/anything/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(sentence-examples/[^/]+/[^/]+)/.* [NC]
RewriteRule ^ /%1/? [R=302,PT,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(.*)$ /sentence-examples/examplesentence.php?havethis=$1&word=$2 [L]

一旦确认它按预期工作,请将302更改为301

如果您安装了CMS,则可能需要使用其他规则才能与其一起使用而不会发生冲突。

请注意,如果您之前尝试使用301进行了不同的重定向,也就是永久重定向,建议您使用其他浏览器测试此规则以避免缓存。

答案 1 :(得分:0)

这可能很快而且很脏,但我在localhost和here上做了一个简单的测试,只是为了确保它有效。

RewriteEngine On
RewriteRule ^sentence-examples/(.*)/(.*)/(.*)\.php http://www.freescrabbledictionary.com/sentence-examples/$1/$2/ [R=301,L]

你可以看到我已经将通配符组(。*)添加到RewriteRule中,这样我们就可以获取我们需要帮助正确重定向的URL元素,即1美元和2美元。您还可以使用第三个($ 3)来获取针对您的SEO需求的目标。

NB:上述规则假定重定向的网址始终来自 .php 目标,并确保无论第3次发布后是什么,都可以重定向URL段用此

替换RewriteRule
RewriteRule ^sentence-examples/(.*)/(.*)/(.*)$ http://www.freescrabbledictionary.com/sentence-examples/$1/$2/ [R=301,L]
相关问题