我遇到一个问题,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->
答案 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段用此
替换RewriteRuleRewriteRule ^sentence-examples/(.*)/(.*)/(.*)$ http://www.freescrabbledictionary.com/sentence-examples/$1/$2/ [R=301,L]