【问题标题】:Redirecting 404 error with .htaccess via 301 for SEO etc使用 .htaccess 重定向 404 错误,通过 301 进行 SEO 等
【发布时间】:2011-01-22 17:46:00
【问题描述】:

我找不到我的问题的直接答案,需要从真正的专家那里知道。

我有一个网站,其中的网址是由 Joomla 生成的。我相信搜索引擎中有大量的网址,我真的不知道其中的哪一个。可以选择 302 重定向,但我不能说需要重定向哪些 url。

我唯一知道的所有网址都是由 sef404 脚本生成的,它是 Joomla 的 SEO 脚本。

我的问题是,如何确保 google 和其他搜索引擎上的所有孤立网址都通过 .htaccess 文件正确传递?

如何301重定向所有404页面到首页(根文档)

目前我使用的是自定义的 404.html 错误文件,但是文件太多,会出现自定义 404 错误页面的过山车

【问题讨论】:

    标签: .htaccess redirect seo http-status-code-301


    【解决方案1】:

    我想出了解决方案并将其发布在我的博客上

    http://web.archive.org/web/20130310123646/http://onlinemarketingexperts.com.au/2013/01/how-to-permanently-redirect-301-all-404-missing-pages-in-htaccess/

    这里也是htaccess代码

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . / [L,R=301]
    

    但我也在我的博客上发布了其他解决方案,这取决于您真正需要什么

    【讨论】:

    • 这会将所有 404 页面 301 重定向到您喜欢的任何地方,在以前的解决方案中它是 302
    • 这应该是答案,因为另一个答案只是重写而不是重定向+1
    • 对于任何想知道为什么会像我一样工作的人 (httpd.apache.org/docs/2.2/mod/mod_rewrite.html):第一行打开 RewriteEngine,第二行为第三行设置条件,确保它是一个不存在的文件并传递请求的文件名(使用服务器变量 (%{})),第三行匹配所有内容,将其替换为根文件夹,并设置两个标志,第一个 (L) 用于停止应用更多重写规则,以及第二个 (R=301) 使用错误代码 301 强制进行外部重定向。
    【解决方案2】:

    您需要了解有关 URL 的一些信息,例如它们是否具有特定的目录或某些查询字符串元素,因为您必须匹配某些内容。否则,您将不得不在 404 上重定向。如果这是必需的,那么在您的 .htaccess 中执行类似的操作:

    ErrorDocument 404 /index.php
    

    错误页面重定向必须相对于根目录,因此您不能使用 www.mydomain.com。

    如果您也有要匹配的模式,请使用 301 而不是 302,因为 301 是永久的,而 302 是临时的。 301 将从搜索引擎中删除旧 URL,而 302 则不会。

    Mod 重写参考:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

    【讨论】:

    猜你喜欢
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2015-03-20
    • 2017-04-15
    相关资源
    最近更新 更多