apache怎么全站301
最佳回答
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从业者
回复谢谢你的提问!
“服务器与域名之间有什么联系?”这个问题我不用很专业的各种术语回答你,换种简单易懂的方式可能更方便理解。
你有一个人的名字,没有他的地址,如果要你去找这个人拿一份文件,要怎么做?
步骤如下:
1、 你可以提交这个人的姓名(域名)给派出所(DNS域名服务器)
2、 派出所(DNS域名服务器)查出这个人的住宅楼房(服务器)地址(IP地址)
3、 你按照这个地址(IP地址)来到这个人的所在的住宅楼房(服务器)位置
4、 通过楼房管理员查找住户信息(WEB目录)找到这个人的房间(网站)
5、 在这个房间(网站)里拿到文件
以上是比较形象的域名与服务器的关系,希望我的回答能帮助你解决问题。
-
匿名用户
回复哥们问对人了,本人小小的码农一名
对于普通的上网,系统是这样做的:浏览器本身就是一个客户端,当你输入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
-
游客
回复域名是网络主机的别称或者叫代号。服务器的理解有两种。1.一台硬件服务器。例如:imb的刀片机。2.部署在硬件服务器上的软件应用服务器。例如:apache、nginx、ftp等。从你问的问题来看,你应该指的是软件服务器。每台网络主机或者硬件服务器必须有一个ip地址才能被网络上的其它主机访问。网络主机间是靠ip地址通讯的。
域名就是这个ip的代号。
为什么需要域名呢?就是便于人去识记,方便人去访问网络主机提供的服务。
一个域名可以对应多个应用服务器,一个硬件服务器也可以有多个域名指向。这个根据你的实际需要可以配置。
域名和ip地址之间的转化,需要域名服务器去转化。所以,我们去域名服务商购买域名的时候,其实就确定了由哪台域名服务器去解析。
一个顶级域名下,我们又可以建立二级域名。每个二级域名可以对应一台网络主机。总之,域名与服务器之间,是多对多的关系。希对你有帮助。
-
seo从业者
回复Apache自动跳转到 HTTPS:网页链接
根据以上文档创建伪静态文件: .htaccess(放入网站根目录)
文件内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>