2009-12-08 53 views
0

我在最后一周的.htaccess中搜索301重定向规则。我也在这里参观过很多类似的网页。但一切都不适合我。所以我在寻求像你这样的高手的帮助。301对wordpress的重定向帮助

我使用WordPress的博客平台。在我使用Joomla之前,那时候我的网站上有很多404错误。有超过10,000个404错误。主要有两类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中的一些缓存问题而发生的,这些网址是在模块的主页上逐一创建的。在禁用了该模块的缓存后,问题就解决了,但谷歌已经将所有这些不良网址编入索引。

我认为最好对这两类404错误网址进行301重定向到主页或www.freezonal.com/sitemap.xml,因为这些网址只被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] 

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

回答

1

首先,WordPress的重写规则必须是在底部,因为他们啜了任何404。之后的任何事情都不会正常工作。因此,在之上添加新规则WordPress的规则。

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

类似的东西应该工作。我不知道您是否希望保留您的任何/component/网址,因此您可能需要从RewriteRule中删除问号。

0

为了重写工作,确保你换你重写条件的mod_rewrite.c标签。然后打开RewriteEngine并设置你的RewriteBase。我不认为重定向在mod_rewrite标签之外工作。

如果你只是想只重定向这两条路径主页,试试这个:

<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