Windows系统Apache,Linux系统Nignx下的301重定向方法

2018-10-1222:54:14 发表评论 133
摘要

织梦、帝国、PHPCMS或者WP安装上的服务器,刚开始接触虚拟主机的时候,会比较喜欢windows主机,操作方便,界面简单,但是经过长期的接触这个行业,会发现linux更安全,也更方便。

301重定向

什么是URL重定向?

URL重定向就是把一个URL重定向到另一个URL上去,当用户发出相应的访问请求时将自动跳转到指定的位置,常见的重定向有301(永久重定向)及302(暂时重定向)两种。

那我们如何利用Apache在windows下配置虚拟主机的301重定向。

Apache

Apache下URL重定向怎么配置方法:

1、首先需要apache开启重定向,修改httpd.conf配置:
查找:

Options FollowSymLinks
AllowOverride None
改为:
Options FollowSymLinks
AllowOverride All

2、去掉下面的注释

LoadModule rewrite_module modules/mod_rewrite.so      //去掉行前的#

3、重定向的配置如何写
有两种方式,第一种是在httpd.conf中写,这种写法适合有服务器完整权限的网站管理员,写法大概如下:

<VirtualHost *:80>
ServerAdmin admin@cnwebe.com
DocumentRoot "/websites/www"
ServerName localhost
RewriteEngine On
RewriteRule ^index\.html$ index.php [L]
</VirtualHost>

4、我们这里主要介绍另外一种方式:在网站目录中使用.htaccess,这种方法适合采用虚拟主机形式的网站管理员,

这两种办法设置的重定向规则其实基本上都是一样的,只是设置的地方不同。

htaccess都可以做什么?

.htaccess文件可以的事情,主要包括:文件夹密码保护、用户自定义重定向、自定义404页面、扩展名伪静态化、禁止特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,等等。

5、.htaccess语法规则

我们先看一个图片防盗链的例子:

RewriteEngine On
RewiteBase /
RewriteCond %{HTTP_REFERER} !^http://(.+.)?baidu.com/ [NC]        //如果来源网址不是*.baidu.com
RewriteCond %{HTTP_REFERER} !^$                                   //并且来源网址不是空
RewriteRule .*.(jpe?g|gif|bmp|png)/images/nohotlink.jpg [L]     //如果访问的文件后缀是jpeg,jpg,gif,bmp,png的图片,则重定向到一个固定的图片

以上方法对于任何windows下的虚拟主机都实用,同时也可以在织梦、帝国、PHPCMS程序中使用。下面我们讲下linux下nignx主机301重定向方法。

NGINX

nignx主机301重定向方法

rewrite重定向-跳转实例:

server {
listen 80;
server_name baidu.com;
rewrite ^/(.*) http://www.baidu.com/ permanent;
access_log off;
}

将123.baidu.com 301跳转到www.baidu.com/123

if ($host = "123.baidu.com"){
rewrite ^/(.*)$ http://www.baidu.com/123/ permanent;
}

以上方法同时可以用在织梦、帝国、PHPCMS或者WP安装上的服务器,刚开始接触虚拟主机的时候,会比较喜欢windows主机,操作方便,界面简单,但是经过长期的接触这个行业,会发现linux更安全,也更方便。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: