2010-03-02 137 views
28

我找不到直接的答案我的问题,需要从真正的专家知道它。重定向404错误与.htaccess通过301搜索引擎优化等

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

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

我的问题是:如何确保Google和其他搜索引擎上的所有孤儿网址都能正确传送.htaccess文件?

我如何301重定向所有的404个页面主页(根文件)

在我使用自定义404.html错误文件的时刻,但也有太多的文件,并会给出一个过山车你需要知道一些关于网址的自定义404错误页面

回答

35

,像他们有一个特定的目录或一些查询字符串元素,因为你必须匹配的东西。否则,你将不得不对404重定向如果这是需要什么,然后做这样的事情在你的.htaccess:所以你不能使用www.mydomain

ErrorDocument 404 /index.php 

一个错误页面重定向必须是相对于根。 COM。

如果您有一个匹配模式,则使用301而不是302,因为301是永久性的,302是临时性的。 301会从搜索引擎中删除旧的网址,而302则不会。

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

+5

减,因为这不是一个重定向 – TheBlackBenzKid 2015-09-03 09:40:53

38

我想出了解决方案,并张贴在我的博客

http://web.archive.org/web/2013031/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] 

,但我张贴我的博客上也有其他解决方案,这取决于你真正需要什么

+1

这将重定向301 ALL 404页,以你喜欢的地方,在以前的解决方案是一个302 – andrew 2013-01-13 23:49:18

+2

这应该是答案,因为对方的回答仅仅是一个重写,而不是重定向+1 – TheBlackBenzKid 2015-09-03 09:40:44

+1

谁想要知道,为什么这个工程,我做了(https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html):第一行变为RewriteEngine叙述上,第二行设置的条件为第三行,确保它是一个不存在的文件,并传递所请求的文件名(使用服务器变量(%{})),第三线相匹配的一切,与根文件夹来替换它,并设置两个标记,所述第一(L),以停止任何更多重写规则被应用,第二个(R = 301)使用错误代码301强制外部重定向。 – Andrew 2015-10-31 23:56:12