【发布时间】:2011-11-21 10:00:00
【问题描述】:
Google 已在我的客户网站上为该页面 http://[site-removed]/showering-accessories 编入索引,但该页面实际上并不存在。正确的 URL 应该是 http://[site-removed]/products-page/showering-accessories
我不希望网站在 Google 中受到惩罚,所以我在网站根目录的 .htaccess 中添加了这条规则:
RedirectMatch 302 ^/showering-accessories /products-page/showering-accessories
(注意:我之前一直在尝试 301 重定向)
这在 IE 和 Firefox 中按预期工作,但在 Chrome 中,我最终到达此页面,因为我认为这是一个 wordpress 应用程序级 (PHP) 重定向:
http://[site-removed]/products-page/products
这是为什么? .htaccess 规则不应该总是在它到达 PHP 代码之前启动吗? 我该如何解决?
顺便说一句,我在 RedirectMatch 下面也有这些规则:
# Redirect all pages to subdirectory /new
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} /
RewriteRule ^(.*)$ /new/$1 [L,QSA]
【问题讨论】:
-
当我使用 chrome 时,重定向对我来说很好。你确定你的 Chrome 没有缓存旧的重定向吗?
-
@JonLin 嘿,你是对的,如果我从 Chrome 中的隐身标签打开它们,所有链接都可以正常工作!将此添加为答案,我会将其标记为正确。
标签: php wordpress .htaccess redirect