301 REDIRECT 永久重定向的实现

2009-10-23 14:11:28 17642

在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:

o 301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

o 302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

o meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

这里我们主要谈谈如何通过301 Redirect实现网页重定向

IIS服务器实现301重定向

* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键,见下图
* 选中“重定向到URL”
* 在对话框中输入目标页面的地址
* 切记,记得选中“资源的永久重定向”
* 当然,最后要点击“应用”

Apache服务器实现301重定向

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

Redirect permanent / http://www.landui.com/ ;将目录下内容重定向到http://www.landui.com/
redirect permanent /old.html http://www.landui.com/new-url/ ;将网页old.html内容重定向到http://www.landui.com/new-url/

通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。

其他方法还有:

PHP下的301重定向

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

ASP下的301重定向

<%@ Language=VBScript %>
<% Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.landui.com”>

ASP .NET下的301重定向

<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://www.landui.com”);
}
</script>

配置完成后,要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker或本站提供的这个网页重定向检查工具。

4. mysql数据库常用导出导入命令

几个常用用例:

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.导出一个数据库结构

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:wcnc_db.sql

5. MYSQL数据库常用命令大全

Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应

用程序。它是对个人用户和商业用户是免费的.

  Mysql数据库具有以下优点:

  1.同时访问数据库的用户的数量不受限制

  2.可以保存超过5千万条的记录

  3.是目前市场上现有数据库产品中运行速度最快的数据库系统

  4.用户权限设置简单、有效。

  Mysql数据库常用命令:

  启动Mysql数据库

  C:>cd Mysql5.0in

  C:Mysql5.0in>mysqld –install 安装Mysql服务

  C:Mysql5.0in>net start mysql 启动Mysql服务

  请求的服务已经启动。

  连接mysql

  用户需要提供Mysql的用户名和密码来连接服务器,如果服务器不是在本机,则

还需要一个主机名或IP来指定服务器的位置。

  C:Mysql5.0in>mysql -h localhost -u root -p

  Enter password: ****

  Welcome to the MySQL monitor. Commands end with ; or g.

  Your MySQL connection id is 6 to server version: 5.0.18-nt

  Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

  mysql>

  使用一条简单的查询语句

  mysql> select version(),current_date;

  mysql> select version();select now();

  新建或删除一个数据库

  Mysql>create database mydb;

  Mysql> drop database mydb;

  打开的数据库的命令

  mysql> use mysql

  Database changed

  查看数据库的命令

  mysql> show databases;

  查看数据表的详细结构

  mysql> desc func;

新建数据库

  mysql> create database school;

  Query OK, 1 row affected (0.00 sec)

  新建表

  mysql> create table user01(

  -> id varchar(20) NOT NULL,

  -> userName varchar(10) NOT NULL,

  -> age int(11) default’0′,

  -> sex char(2) NOT NULL default’m,

  -> PRIMARY KEY (id)

  -> )TYPE=InnoDB;

  Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;

  插入和删除表中的数据

  Create table student(stuName varchar(20),age varchar(20),id varchar(20),set0

char(1));

  插入

  mysql> insert into student(id,stuName) values(’1′,’tomcat’);

  Query OK, 1 row affected (0.00 sec)

  删除

  mysql> delete from student where id=’1′;

  Query OK, 1 row affected (0.01 sec)

  删除表中所有数据

  mysql> truncate table student;

  Query OK, 1 row affected (0.01 sec)

  删除表

  mysql> create table temp(t varchar(1));

  Query OK, 0 rows affected (0.00 sec)

  mysql> drop table temp;

  Query OK, 0 rows affected (0.00 sec)

  创建新用户并给予权限

  mysql> grant all privileges on *.* to dbuser@localhost identified by ‘1234′

  with grant option;

  更改Mysql用户密码

  c:Mysql5.0in>mysqladmin -u root -p password 1234

  Enter password: ****

  备份数据库及表

  我们用mysqldump命令来备份数据库

  c:mysqlin>mysqldump –u root –p 3306 mysql>d:ackup.sql

  执行此语句将把mydb 备份到D盘的backup.sql文件中

  备份多个数据库表

  c:mysqlin>mysqldump –u root –p 3306 school user01 user >d:ackup.sql

  此句的意思是把school库中的user01表和user表的内容和表的定义备份到D盘

backup.sql文件中。

  备份所有的数据库

  c:myqlin>mysqldump –u root –p 3306 –all –database>d:backup.sql

  还原Mysql数据库

  c:mysqlinmysql –u root –p 3306 school

  还原其中的一个表

  mysql> source d:ooks.sql;

  ERROR:

  Unknown command ‘’.

  Query OK, 0 rows affected (0.00 sec)

  Query OK, 1 row affected (0.00 sec)

  退出Mysql连接

  mysql>quit(exit)

  关闭mysql服务

C:mysqlin>net mysql

6. 关于ftp空间内的aspnet_client目录

这是服务器组件升级自动生成的目录,所以删不掉,大家也不用担心,没有危害的,如果非要删除请联系我们

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: