什么是URL重定向?
URL重定向就是把一个URL重定向到另一个URL上去,当用户发出相应的访问请求时将自动跳转到指定的位置,常见的重定向有301(永久重定向)及302(暂时重定向)两种。
那我们如何利用Apache在windows下配置虚拟主机的301重定向。
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重定向方法。
nignx主机301重定向方法
rewrite重定向-跳转实例:
server { listen 80; server_name baidu.com; rewrite ^/(.*) http://www.baidu.com/$1 permanent; access_log off; }
将123.baidu.com 301跳转到www.baidu.com/123
if ($host = "123.baidu.com"){ rewrite ^/(.*)$ http://www.baidu.com/123/$1 permanent; }
以上方法同时可以用在织梦、帝国、PHPCMS或者WP安装上的服务器,刚开始接触虚拟主机的时候,会比较喜欢windows主机,操作方便,界面简单,但是经过长期的接触这个行业,会发现linux更安全,也更方便。
AANHGMKJLOI87