Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

Server|PHP 도메인 차단·이전 시 301 리다이렉트로 강제 이동시키기

페이지 정보

조회 323회 작성일 21-08-26 14:54
도메인이 차단되거나 새 주소로 이전할 때 301 리다이렉트로 방문자를 강제로 이동시키는 방법이다. PHP의 header() 함수, ASP와 ASP.NET, CGI Perl, JSP 코드, Apache .htaccess의 mod_rewrite 규칙, 그리고 IIS의 영구 리다이렉트 설정까지 서버별 구현 방법을 모두 정리했다.

域名跳转可以使用301跳转。301跳转多用于旧网址在废弃前转向新网址以保证用户的访问,在诸多服务器中,均支持本跳转方法。

301跳转共有两种方法:

1、服务器设置法:本设置方法因服务器软件版本较多,且设置繁琐,不推荐使用。

2、页面跳转方法,本方法在浏览器中执行,大多数浏览器均支持本301跳转页面,所以使用较为广泛。

详细方法:

1、IIS下301设置:

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

2、PHP转向版本,请使用以下代码:

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

header("Location: http://你的网址/");

exit();

3、ASP转向版本,请使用以下代码:

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://你的网址/"

Response.End

4、ASP.net转向版本,请使用以下代码:

<script runat=”server”>

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

{

Response.Status = “301 Moved Permanently”;

Response.AddHeader(”Location”,”http://www.ahwebs.com/articles/301/“);;)

}

</script>

5、CGI Perl下的301转向,请使用以下代码:

$q = new CGI;

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

6、JSP转向版本,请使用以下代码:

<%

response.setStatus(301);

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

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

%>

7、Apache下301转向,请使用以下方法:

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

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

Options +FollowSymLinks

RewriteEngine on

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

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

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.ahwebs.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



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.