15053971836 注册 / 登录

apache怎么全站301

时间: 阅读:501
apache怎么全站301

最佳回答

夜半丶唱情歌

夜半丶唱情歌

2023-01-13 09:27:35

301跳转通常用在网站换域名和为了保持链接统一性所用的。比如原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html。下面摘抄一下设置301的代码:301跳转代码全集(ASP|PHP|JSP|.NET):

IIS下301设置:

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

ASP下的301转向代码

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://www.boaer.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.boaer.com/”);

}

</script>

PHP下的301转向代码

header(”HTTP/1.1 301 Moved Permanently”);

header(”Location: http://www.boaer.com/”);

exit;

CGI Perl下的301转向代码

$q = new CGI;

print $q->redirect(”http://www.boaer.com/”);

JSP下的301转向代码

<%

response.setStatus(301);

response.setHeader( “Location”,“http://www.boaer.com/” );

response.setHeader( “Connection”,“close” );

%>

Apache下vhosts.conf中配置301转向,为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<VirtualHost *:80>

ServerName www.boaer.com  

DocumentRoot

</VirtualHost>

<VirtualHost *:80>

ServerName xxx.com

RedirectMatch permanent ^/(.*) http://www.boaer.com/$1

</VirtualHost>

Apache下301转向代码,新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带WWW的域名转向到带WWW的域名下:

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^xxx.com [NC]

RewriteRule ^(.*)$ http://www.boaer.com/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.boaer.com/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+).html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

301设置好这后,就要检测一下301是否生效。这里有两个在线检测301重定向的工具:
国内版:http://tool.chinaz.com/pagestatus/
国外版:http://www.seoconsultants.com/tools/headers#Results

最新回答共有5条回答

  • seo从业者
    回复
    2023-01-13 12:12:47

    谢谢你的提问!

    “服务器与域名之间有什么联系?”这个问题我不用很专业的各种术语回答你,换种简单易懂的方式可能更方便理解。

    你有一个人的名字,没有他的地址,如果要你去找这个人拿一份文件,要怎么做?

    步骤如下:

    1、 你可以提交这个人的姓名(域名)给派出所(DNS域名服务器)

    2、 派出所(DNS域名服务器)查出这个人的住宅楼房(服务器)地址(IP地址)

    3、 你按照这个地址(IP地址)来到这个人的所在的住宅楼房(服务器)位置

    4、 通过楼房管理员查找住户信息(WEB目录)找到这个人的房间(网站)

    5、 在这个房间(网站)里拿到文件

    以上是比较形象的域名与服务器的关系,希望我的回答能帮助你解决问题。

  • 匿名用户
    回复
    2023-01-13 12:12:47

    哥们问对人了,本人小小的码农一名


    对于普通的上网,系统是这样做的:浏览器本身就是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应域名的对应的Ip地址,通过IP地址找到对应IP对应的服务器,要求建立TCP连接,等浏览器发送完HTTP Request包后,服务器接受到请求包之后才开始处理请求包,服务器调用自身服务,返回Http Response (响应包):客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。
    用户访问一个Web站点的过程

    Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信(客户端通常指的是Web浏览器,手机的客户端也是浏览器实现的)

    TCP/IP协议(来源于百度百科):Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

    HTTP协议(来源于百度百科):超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nel

  • 游客
    回复
    2023-01-13 12:12:47

    域名是网络主机的别称或者叫代号。服务器的理解有两种。1.一台硬件服务器。例如:imb的刀片机。2.部署在硬件服务器上的软件应用服务器。例如:apache、nginx、ftp等。从你问的问题来看,你应该指的是软件服务器。每台网络主机或者硬件服务器必须有一个ip地址才能被网络上的其它主机访问。网络主机间是靠ip地址通讯的。

    域名就是这个ip的代号。

    为什么需要域名呢?就是便于人去识记,方便人去访问网络主机提供的服务。

    一个域名可以对应多个应用服务器,一个硬件服务器也可以有多个域名指向。这个根据你的实际需要可以配置。

    域名和ip地址之间的转化,需要域名服务器去转化。所以,我们去域名服务商购买域名的时候,其实就确定了由哪台域名服务器去解析。

    一个顶级域名下,我们又可以建立二级域名。每个二级域名可以对应一台网络主机。总之,域名与服务器之间,是多对多的关系。希对你有帮助。


  • seo从业者
    回复
    2023-01-13 11:11:37

    Apache自动跳转到 HTTPS:网页链接

    根据以上文档创建伪静态文件: .htaccess(放入网站根目录)

    文件内容:

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
    </IfModule>