htacces - 需要修复从其他站点到我的断开链接



我遇到了一个问题,谷歌网站管理员工具报告了大量来自 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还有其他结局的变化,我基本上需要能够删除结局。

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

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

所以基本上:

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

.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又名永久重定向尝试过不同的重定向,建议您使用其他浏览器来测试此规则以避免缓存。

这可能既快速又脏,但我在本地主机上做了一个简单的测试,只是为了确保它有效。

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目标,并确保无论第 3 个 URL 段之后出现什么内容,您都可以重定向,将 RewriteRule 替换为此

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

最新更新