立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广州大学城网业务调整

[服务器] Apache或Nginx 301重定向的方法 [附:通过php页面 301重定向的 [复制链接] qrcode

查看: 4890 | 回复: 0

wind
发表于: 2012-3-23 12:40:48 | 显示全部楼层

摘要:很多时候我们需要在Apache或Nginx服务器上做301重定向以便使旧的页面定向到新的页面,或者把域名转到新域名,用来确定首选域名等。

Apache 301重定向(只在Linux/unix服务器)
把没有www的域名301重定向到带www的域名
新建一个.htaccess文件,增加如下代码:
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} !^www\.url\.com$ [NC]
  3. RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]
复制代码

apache 301重定向到单个url
  1. RewriteEngine On
  2. Redirect permanent /old-directory/old-file.html [url]http://www.url.com/new-directory/new-file.html[/url]
复制代码

php 301重定向
  1. <?
  2. Header( "HTTP/1.1 301 Moved Permanently" );
  3. Header( "Location: http://www.url.com" );
  4. ?>
复制代码

Nginx 301重定向
在对应的Nginx配置文件中加入如下过滤规则和重写规则:
第一种情况:访问A站定向到B站
  1. server {
  2. server_name www.A.com ;
  3. rewrite ^(.*) http://www.B.com$1 permanent;
  4. }
复制代码

第二种情况:不是访问A站的全部重定向到指定页面
  1. server {
  2. server_name www.A.com;
  3. if ($host != ‘A.com’ ) {
  4. rewrite ^/(.*)$ http://www.B.com/$1 permanent;
  5. }
  6. }
复制代码
跳转到指定楼层
快速回复 返回顶部 返回列表