摘要:很多时候我们需要在Apache或Nginx服务器上做301重定向以便使旧的页面定向到新的页面,或者把域名转到新域名,用来确定首选域名等。
Apache 301重定向(只在Linux/unix服务器)
把没有www的域名301重定向到带www的域名
新建一个.htaccess文件,增加如下代码:- RewriteEngine On
- RewriteCond %{HTTP_HOST} !^www\.url\.com$ [NC]
- RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]
复制代码
apache 301重定向到单个url- RewriteEngine On
- Redirect permanent /old-directory/old-file.html [url]http://www.url.com/new-directory/new-file.html[/url]
复制代码
php 301重定向- <?
- Header( "HTTP/1.1 301 Moved Permanently" );
- Header( "Location: http://www.url.com" );
- ?>
复制代码
Nginx 301重定向
在对应的Nginx配置文件中加入如下过滤规则和重写规则:
第一种情况:访问A站定向到B站- server {
- server_name www.A.com ;
- rewrite ^(.*) http://www.B.com$1 permanent;
- }
复制代码
第二种情况:不是访问A站的全部重定向到指定页面- server {
- server_name www.A.com;
- if ($host != ‘A.com’ ) {
- rewrite ^/(.*)$ http://www.B.com/$1 permanent;
- }
- }
复制代码 |
|