0

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

我正在使用 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/目录/menu1/menu2/something.html。喜欢这些太多的网址。我认为这是由于 Joomla 中的一些缓存问题而发生的,并且这些 url 是在模块的主页上一一创建的。在我为该模块禁用缓存后,问题就解决了,但谷歌已经索引了所有这些错误的 url。

我认为最好将这两类 404 错误 url 进行 301 重定向到主页或 www.freezonal.com/sitemap.xml,因为这些 url 仅由 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 url​​ 重定向到主网站,是否有任何其他建议可以提供更好的 SEO。如果您解决了这个问题,我将非常感谢您。

4

2 回答 2

1

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

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

像这样的东西应该工作。我不知道您是否想让您的任何/component/URL 正常工作,因此您可能需要从 RewriteRule 中删除问号。

于 2009-12-15T20:18:12.860 回答
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

于 2013-12-05T00:07:40.773 回答