0

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

我曾试图让 ask.com 解决他们的问题,但他们当然不是,所以现在我被超过 11k 的错误链接困在我的网站上,我怀疑这些链接现在正在影响我的排名。

无论如何,我有一种可能的方法来 301 他们,但不知道如何用.htaccess.

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

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

它应该是

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

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

问题是之后的 URL/sentence-examples/可以更改。开头总是:

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

所以基本上:

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

2 回答 2

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,您可能需要一个不同的规则才能与它一起工作而不会发生冲突。

请记住,如果您之前使用301aka 永久重定向尝试过不同的重定向,则建议您使用不同的浏览器来测试此规则以避免缓存。

于 2013-09-22T20:58:07.247 回答
0

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

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

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

注意:上面的规则假定重定向的 URL 将始终来自.php目标,并确保您可以重定向,无论第三个 URL 段之后发生什么,都将 RewriteRule 替换为

RewriteRule ^sentence-examples/(.*)/(.*)/(.*)$ http://www.freescrabbledictionary.com/sentence-examples/$1/$2/ [R=301,L]
于 2013-09-22T20:30:39.120 回答