wordpress上的301重定向帮助

时间:2009-12-08 08:45:02

标签: regex wordpress mod-rewrite redirect http-status-code-301

我在.htaccess中搜索过去一周的301重定向规则。我也在这里访问了许多类似的页面。但一切都不适合我。所以我要求像你这样的大师帮忙。

我正在使用wordpress博客平台。在我使用Joomla之前,我的网站上有那么多404错误。 404错误超过10,000。主要有两类404错误。示例是example.com//component/option,com_xmap/Itemid,44/component/xxx/yyy/menu1/menu2/something/和example.com/index.php/component/option,com_xmap/Itemid,44/component/ XXX / YYY /目录/菜单1 / MENU2 / something.html。像这些太多的网址。我认为这是由于Joomla中的一些缓存问题而发生的,这些网址是在模块的主页上逐个创建的。在我为该模块禁用缓存后,问题得以解决,但谷歌已将所有这些错误的网址编入索引。

我认为最好对主页或www.freezonal.com/sitemap.xml上的这两类404错误网址进行301重定向,因为这些网址仅由Google编制索引,在搜索结果中不会显示。

目前我在我的.htaccess

上使用此功能
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

RewriteCond %{QUERY_STRING} .*
RewriteRule ^index.php/(.*)$ /? [R=301,L]

是否有任何301重定向代码用于将这两类404网址重定向到主网站,是否有任何其他建议更好的搜索引擎优化。如果你解决了这个问题,我将非常感谢你。

2 个答案:

答案 0 :(得分:1)

首先,WordPress的重写规则必须在底部,因为它们会淹没任何404。他们之后的任何事情都无法正常运作。因此,添加新规则 WordPress规则。

RewriteEngine On
RewriteBase /
RewriteRule (index.php/|/)?component/option http://example.com/ [L,R=301]

这样的事情应该有用。我不知道您是否希望保留任何/component/网址,因此您可能需要从RewriteRule中删除问号。

答案 1 :(得分:0)

为了使重写工作,请确保将重写条件包装在mod_rewrite.c标记中。然后打开RewriteEngine并设置RewriteBase。我不认为重定向在mod_rewrite标记之外工作。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} .*
RewriteRule ^index.php/(.*)$ /? [R=301,L]
</IfModule>

如果您只想将这两个路径重定向到主页,请尝试以下操作:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^component* / [R=301,L]
RewriteRule ^index.php/component* / [R=301,L]
</IfModule>

尝试一下,看看它是否有效。

另外,请务必查看apache.org上的文档http://httpd.apache.org/docs/current/mod/mod_rewrite.html