linux php python mysql jquery JavaScript 学习之窗
标签类目:404

Apache服务器的301和404的设置方法

apache下的301设置

页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。
首先,给一个工具,是来检测服务器头信息的,简单来说就是看看你的站点的301是否成功了。不要小看这个301,如果被做成了302什么的,你的站可能就要让你欢喜让你忧了。
 

相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
 

Redirect permanent / http://www.imfantasy.com.cn/ (将目录下内容重定向到http://www.imfantasy.com.cn/ )
redirect permanent /index.php http://www.imfantasy.com.cn/index.php?go=category_6(将网页index.php重定向到http://www.imfantasy.com.cn/index.php?go=category_6)
 

通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。

PHP下的301重定向
 

<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: http://www.imfantasy.com.cn" );
?
 

旧域名重定向到新域名
创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保旧域名所有的目录或者网页正确的跳转到新域名内。

记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件

 

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.imfantasy.com.cn/$1 [R=301,L]
 

请将上面的www.imfantasy.com.cn修改成你想要跳转到的域名。
此外,我建议大家归总旧网站的外部链接,并联系相应的站点修改导入链链的URL,以指向新站点。

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用

域名301重定向到www的二级域名

创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对imfantasy.com.cn的请求都转向到对www.imfantasy.com.cn进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件

 

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^imfantasy.com.cn [nc]
rewriterule ^(.*)$ http://www.imfantasy.com.cn/$1 [r=301,nc]
 

请将上面的http://www.imfantasy.com.cn/修改成你想要跳转到的域名。

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用 

 

 

apache的404设置 

为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:
 

ErrorDocument 404 /notfound.php

注意:
1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失
2.切记不要使用绝对URL(例如:http://www.bloghuman.com/nofound.php形式),如果使用绝对URL返回的状态码是“302”+“200”(已测试)

 

  1. 正确的做法是在 .htaccess 中加入

    ErrorDocument 404 /404.html

    而不是

    ErrorDocument 404 http://www.example.com/404.html

    前者返回的是 404 状态码,而后者返回的是 200 状态码。

  2. 如果一个 404 页面的内容小于 512b,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面。

 

返回顶部