虚拟主机怎么设置301

虚拟主机怎么设置301,第1张

一下内容由主机侦探整理所得,买主机找主机侦探:

1、php网站的301跳转

现在网上有很多说法,就拿PHP的网站程序来说,很多人说修改index.php文件可以做301重定向,这样可以看似301重定向成功了,但用301检测工具会发现做了两次301重定向,最后转到的200是index.html。

这里说一下采用web.config配置文件做301重定向。主机需支持Urlrewrite,一般情况下主机都支持Urlrewrite 的,一个小模块,空间商都会安装上。

下面是web.config文件:不管是qinglongweb.com转向www.qinglongweb.com,还是网站换新域名都可以。

比如www.qinglongweb.cn转向www.qinglongweb.com

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="WWW Redirect" stopProcessing="true">

<match url=".*" />

<conditions>

<add input="{HTTP_HOST}" pattern="^需要转的域名$" />

</conditions>

<action type="Redirect" url="http://要转到的域名/{R:0}"

redirectType="Permanent" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

将修改好的文件上传到网站的根目录。这里由于上传不了文件,所以教大家用DW创建web.config文件。用DW新建一个XML,把新创建XML里 的代码删除,将上面的代码复制到新创建的XML里,点击菜单文件—另存为—修改名字和后缀,即文件名改为web.config。然后将该文件上传到网站根 目录就OK了。最后到主机控制面板看下默认主页是否是index.html,要将默认主页修改为index.html才行。

2、IIS下301设置

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

3、ASP下的301转向代码

<%@ Language=VBScript %>

<%

if request.ServerVariables("SERVER_NAME")="bbs.seotest.com" or request.ServerVariables("SERVER_NAME")="seotest.com" then

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.qinglongweb.com/"

Response.End

end if

%>

4、ASP.Net下的301转向代码

<script runat=”server”>

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(”Location”,”www.qinglongweb.com/301/“);

}

5、CGI Perl下的301转向代码

$q = new CGI

print $q->redirect(”www.qinglongweb.com/301/”);

6、JSP下的301转向代码

<%

response.setStatus(301);

response.setHeader( “Location”, “www.qinglongweb.com/301/ );

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

%>

7、Apache下301转向代码

新建。htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]

RewriteRule ^(。*)$www.qinglongweb.com/301/[L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(。*)$www.qinglongweb.com/301/ [L,R=301]

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

Options +FollowSymLinks

RewriteEngine on

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

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

8、Apache下vhosts.conf中配置301转向

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

<VirtualHost *:80>

ServerName www.qinglongweb.com/

DocumentRoot /home/seotest

</VirtualHost>

<VirtualHost *:80>

ServerName seotest.com

RedirectMatch permanent ^/(。*) www.qinglongweb.com/301/

</VirtualHost>

把不带www的域名301到带www的域名

RewriteEngine On

RewriteCond %{http_host} ^example.com$ [NC]

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

“RewriteEngine On”,开启 Rewrite 规则开关;

“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为example.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

“RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.example.com/”接上访问请求的网址中 example.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。

把老域名301到新域名

更换域名时,老域名的权重不能浪费了,把老域名的顶级域名和带www的域名都要301到新域名,代码如下

RewriteEngine On

RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR]

RewriteCond %{http_host} ^new.com$ [NC]

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

现在无论你访问old.com,www.old.com,new.com都会301到www.new.com 够完美了吧!而且所有的内页也会跟着301,接下来至少等待2个月,期间不要删除原域名,静等权重完全转移!

需要注意的是,wordpress默认情况下不支持该条命令,因为wordpress的网址本身就是伪静态的,要想实现这个功能,必须先把wordpress的内页生成html文件。

IIS 6中的.htaccess 301定向

以下规则适用于 IIS 6中的 ISAPI_Rewrite 2.x 3.x 中的httpd.ini或.htaccess

注意这儿的.htaccess不是apache中的.htaccess 规则略有不同。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/143712.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-19
下一篇2023-03-19

发表评论

登录后才能评论

评论列表(0条)

    保存