精华内容
参与话题
问答
  • apache重定向

    2016-12-15 19:24:51
    之前遇到一个需要网页重定向的问题,假设我的ip地址为:10.0.0.1 /mnt/a /mnt/b /mnt/index.php 我的apache文件根目录为/mnt 当我在地址栏中输入:10.0.0.1,系统会自动返回index.php 但是,如果我输入10.0.0.1,但我...
    之前遇到一个需要网页重定向的问题,假设我的ip地址为:10.0.0.1
    /mnt/a
    /mnt/b
    /mnt/index.php
    我的apache文件根目录为/mnt
    当我在地址栏中输入:10.0.0.1,系统会自动返回index.php
    但是,如果我输入10.0.0.1,但我想进入/mnt/a/index.php该怎么办呢?
    如果在之前,我会在/mnt/index.php中,写一个网页跳转
    但是这种通过网页的跳转,明显会有一个延迟的过程,体验不好。

    今天学到了另外一种方法,在apache端设置,具体步骤如下:
    1.找到IP对应网站的配置文件,windows系统一般默认的文件在httpd.conf文件中,linux系统下的路径一般为:/etc/apache2/site-avaliable/default
    2. 修改配置文件中AllowOverride选项内容,一般默认的DocumentRoot下的配置如下:
    AllowOverride None
    将其改为:AllowOverrid All
    3. 在需要跳转的文件路径下添加.htaccess文件,只需要一行:
    Redirect /index.php http://10.0.0.1/a
    4. 重启apache即可实现以上功能,并且这种跳转方式用户几乎察觉不到。


    结束
    展开全文
  • Apache重定向

    2011-12-18 01:05:00
    可是这样有一个弊端,比如输入 home.unixoss.com这样也会打开博客,但是地址栏显示的是http://home.unixoss.com这样一个服务器中并没有定义的主机。更悲剧的是,搜索引擎也会显示多个域名,很是混乱。...

    为了方便,在配置Host Records的时候,把所有的主机名都指向了vps的ip。这样,即使没有在httpd.conf中定义virtual host的目录,也会打开主站点。可是这样有一个弊端,比如输入 home.unixoss.com这样也会打开博客,但是地址栏显示的是http://home.unixoss.com这样一个服务器中并没有定义的主机。更悲剧的是,搜索引擎也会显示多个域名,很是混乱。 这时就需要对Apache服务器进行301重定向设置,来自动重定向到首选域名。

    一种方法就是修改程序目录下的 .htaccess 文件,drupal本身就带有这个文件,直接添加之:

    # 301 To redirect to http://unixoss.com/
    RewriteEngine On #打开rewrite功能
    RewriteCond %{HTTP_HOST} !^unixoss\.com$ [NC] #条件:客户端发送的http请求中不是以unixoss.com开头,NC为不区分大小写
    RewriteRule ^(.*)$ http://unixoss.com/ [L,R=301] #匹配条件为没有换行符,并且重定向到http://unixoss.com/ ,L为立即停止,R指301重定向。

    mod_rewrite工作方式:

    保存后,并没生效,打开httpd.conf,发现mod_write模块已经加载了,但是在博客目录配置中AllowOverride为None,改为All,重启apache。

     

    文章来源:UnixOSS.com

    转载请保留出处。

    转载于:https://www.cnblogs.com/stylesheet/archive/2011/12/18/2291637.html

    展开全文
  • 像网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到...
    1 域名重定向
    

      在我们网站建设中,时常会遇到需要网页重定向的情况:像网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。

     

    2 301重定向

      301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

     

    3 Apache下的301域名重定向配置

     

    3. 1 apache配置mod_rewrite模块

      找到apache的配置文件:http.conf,找到以下几行:

      #LoadModule rewrite_module modules/mod_rewrite.so

      去掉前面的#

     

    3. 2 在http.conf文件的最后加入代码,示例代码如下:

      #打开重写功能

      RewriteEngine on

      #日志等级,调试模式下建议开等级2

      RewriteLogLevel 0    

      #日志文件地址                       

      RewriteLog logs/rewrite.log

      #下面的三行是将域名为“www.dongfeng-citroen.com”301重定向到域名www.dongfeng-citroen.com.cn

      #定义如果获取到规则为www.dongfeng--citroen.com的域名

      rewritecond %{HTTP_HOST} ^www\.dongfeng-citroen\.com$

      #把用户输入完整的地址(GET方式的参数除外)作为参数传给下一个规则,[C]是Chain串联下一个规则的意思

      rewriterule ^(.+) %{HTTP_HOST}$1 [C]

      #关键的一句,将上面描述的域名301重定向到www.dongfeng-citroen.com.cn

      rewriterule ^www\.dongfeng-citroen\.com(.*) http://www.dongfeng-citroen.com.cn$1 [L,R=301]

     

      规则末尾相关参数解释:

      mod_rewrite 规则修正符

      1) R 强制外部重定向 。

      2) F 禁用URL,返回403HTTP状态码。 

      3) G 强制URL为GONE,返回410HTTP状态码。 

      4) P 强制使用代理转发。 

      5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。 

      6) N 重新从第一条规则开始运行重写过程。 

      7) C 与下一条规则关联。 

      如果规则匹配则正常处理,以下修正符无效。

      8) T=MIME-type(force MIME type) 强制MIME类型。

      9) NS  只用于不是内部子请求。 

      10) NC 不区分大小写。 

      11) QSA 追加请求字符串。

      12) NE 不在输出转义特殊字符   \%3d$1  等价于 =$1 。

    展开全文
  • nginx地址重定向

    2020-07-09 19:22:09
    nginx地址重定向 last 相当于Apache里的[L]标记,表示完成rewrite。默认为last。 break 本条规则匹配完成后,终止匹配,不再匹配后面的规则 redirect 返回302临时重定向,浏览器地址会显示跳转后的URL...

    nginx地址重定向

    last 			    相当于Apache里的[L]标记,表示完成rewrite。默认为last。
    break 				本条规则匹配完成后,终止匹配,不再匹配后面的规则
    redirect 			返回302临时重定向,浏览器地址会显示跳转后的URL地址
    permanent 	返回301永久重定向,浏览器地址会显示跳转后URL地址
    
    if (condition) {}
    if 可以支持如下条件判断匹配符号
    ~ 					正则匹配 (区分大小写)  
    ~* 				    正则匹配 (不区分大小写)
    !~                  正则不匹配 (区分大小写)
    !~*		            正则不匹配  (不区分大小写)
    -f 和!-f 		    用来判断是否存在文件
    -d 和!-d 		    用来判断是否存在目录
    -e 和!-e 		    用来判断是否存在文件或目录
    -x 和!-x 		    用来判断文件是否可执行
    
    在匹配过程中可以引用一些Nginx的全局变量
    $args				请求中的参数;
    $document_root	    针对当前请求的根路径设置值;
    #$host				请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;
    $limit_rate			对连接速率的限制;
    $request_method		请求的方法,比如"GET""POST";
    #$remote_addr		客户端地址;
    $remote_port		客户端端口号;
    $remote_user		客户端用户名,认证用;
    $request_filename   当前请求的文件路径名(带网站的主目录/usr/local/nginx/html/images /a.jpg)
    #$request_uri		当前请求的文件路径名(不带网站的主目录/images/a.jpg)
    $query_string$args相同;
    $scheme				用的协议,比如http或者是https
    $server_protocol	请求的协议版本,"HTTP/1.0""HTTP/1.1";
    $server_addr 		服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费);
    $server_name		请求到达的服务器名;
    $document_uri$uri一样,URI地址;
    $server_port 		请求到达的服务器端口号;
    
    # http://www.testpm.com/a/1.html ==> http://www.testpm.com/b/2.html
    #如果匹配到a/1.html重定向到b/2.html
    server {
        listen       80;
        server_name  www.testpm.com;
    
            location /a {
            root /html;
            index   1.html index.htm;
            rewrite .* /b/2.html permanent; #.*代表testpm.com
           #rewrite  www.testpm.com/b/2.html
            }
            location /b {
            root    /html;
            index   2.html index.htm;
            }
    
    }
    
    # http://www.testpm.com/2019/a/1.html ==> http://www.testpm.com/2018/a/1.html
    server {
        listen       80;
        server_name  www.testpm.com;
    
        location /2019/a {
            root    /var/www/html;
            index   1.html index.hml;
            rewrite ^/2019/(.*)$ /2018/$1 permanent; (#匹配以2019开头,以任意结尾   重定向到 2018,任意结尾的永久重定向 )#(.*)$代表a/1.html
            }
    
        location /2018/a {
            root    /var/www/html;
            index   1.html index.htl;
            }
    }
    
    例5: 在访问目录后添加/  (如果目录后已有/,则不加/)
    [root@nginx-server c]# pwd
    /usr/share/nginx/html/a/b/c
    
    # http://www.qf.com/a/b/c
    # $1: /a/b/
    # $2: c
    # http://$host$1$2/
    location /a/b/c {
            root    /usr/share/nginx/html;
            index   index.html index.hml;
            if (-d $request_filename) {  #如果/a/b/c/是目录 则重定向  
           	        #当前请求的文件路径名
           rewrite ^(.*)([^/])$ http://$host$1$2/ permanent;
            		#$1	  $2
            }
    }
    
    例6:
    [root@nginx html]# pwd
    /usr/share/nginx/html
    [root@nginx html]# ls
    50x.html  index.html  index.html.bak1  reg
    [root@nginx html]# cat reg/login.html 
    login
    # http://www.qf.com/login/qf.html ==>  http://www.qf.com/reg/login.html?user=qf
    	location /login {
            root   /usr/share/nginx/html;
            rewrite ^/login/(.*)\.html$ http://$host/reg/login.html?user=$1;
            }
        location /reg {
            root /usr/share/nginx/html;
            index login.html;
            }
    
    展开全文
  • 我之前使用的是SAE但现在换成了aliyun,但百度把我以前新浪的地址给爬出来了,不做重定向全都是错误页面,现在就是我要做一个重定向地址跳转到现在的。 www.xxxx.cn/index.html 跳转到www.xxxx.cn/index.php 这...
  • http://blog.csdn.net/cdefg198/article/details/6682737 http://www.xuephp.com/main/question_detail.php?qid=5136 http://wenku.baidu.com/view/338ebcbb960590c69ec376ac.html ...
  • APACHE重定向3

    2011-11-06 23:45:12
    Apache 重定向,如何将下面的网址重定向成需要的地址? 2011-7-12 16:53 提问者:匿名 | 悬赏分:30 将 http://www.test.com/index.php/abc/ 重写成 http://www.test.com/abc/ 2011-7...
  • apache配置链接重定向

    2017-09-12 12:48:05
    安装配置apache并修改对应配置实现访问地址重定向功能,已apache所在服务器为中间服务器来完成访问地址的跳转
  • apache重定向

    2011-11-07 19:21:35
    一、Apache Rewrite 拟静态 配置虚拟主机:基于IP+基于端口+基于域名混用 大型虚拟主机(几十万):重定向 1、 目的:实现URL跳转,隐藏地址,使用perl语言  防止注入 2、 如:  ...
  • 1.在本机配置,本机服务器IP地址为:127.0.0.1,修改hosts文件,如图: 2.修改E:\wamp\bin\apache\apache2.4.9\conf中的httpd.conf文件: 3.清空E:\wamp\bi...
  • Apache 重定向配置方法

    万次阅读 2008-03-11 16:10:00
    今天的support内容需要测试Apache 页面重定向,简单的说就是配置Apache让它自动把旧的URL地址转换成新的URL输出。 首先,apache重定向功能需要调用mod_rewrite模块,由于apache2.2的modules文件夹中带有该模块,...
  • 关于apache 重定向设定

    2018-03-19 16:46:00
    本人在研究关于apache重定向的资料,在网上找了很多,但是就本人来说,方便理解的,找到了这么一个,记录了下来,原帖地址:http://www.exehack.net/8.html 关于apache配置多域名,一般为两种方法。1.虚拟主机及...
  • 修改 apache 配置文件 (httpd.conf) 查找 并 删除rewrite_module前边的(#); 修改下图 位置 代码(将None 改为All)。 2. 在使用 ThinkPHP 的项目 根目录下,...
  • discuzz apache URL重定向

    2014-02-07 15:22:53
    discuz安装在非根目录,需要做一些URL地址重写,具体的apache RewriteRule的规则可以 参看这个博客: [url]http://hi.baidu.com/zwfec/item/cdd19716e77e225f2b3e2242[/url] 或者 [url]...
  • apache301重定向设置

    2013-10-23 11:23:00
    VirtualHost ip地址> #DocumentRoot /文件夹/ ServerName XXXX.com RewriteEngine on RewriteRule ^(.*)$ http://www.XXXX.cn$1 [R=301,L]</VirtualHost> 转载于:...
  • apache配置、重定向

    千次阅读 2011-10-18 17:16:59
    1、 HTTP协议 2、Apache服务器 第一种方式:安装多个apache 第二种方式:一个网卡绑定多个ip  1)添加ip地址  本地连接—tcp/ip属性—高级---添加 192.168.52.107  192.168.52.108
  • Apache重定向(补)

    2011-11-07 20:42:11
    一、ApacheRewrite 拟...大型虚拟主机(几十万):重定向   1、目的:实现URL跳转,隐藏地址,使用perl语言  防止注入 2、如:  http://www.ok1.com/csdn09.php?id=10  转换  http://www.ok1.com/csdn09_
  • apache重定向(补)

    2011-11-07 17:07:16
    一、ApacheRewrite 拟...大型虚拟主机(几十万):重定向   1、目的:实现URL跳转,隐藏地址,使用perl语言  防止注入 2、如:  http://www.ok1.com/csdn09.php?id=10  转换  http://www.ok1.com/csdn09_
  • Apache URL重定向配置专题

    千次阅读 2018-01-18 00:23:21
    Url重定向机制简述 Rewrite url重定向就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等。1.Apache Rewrite的主要功能 就是实现URL的跳转和...
  • apache rewrite(重定向)

    千次阅读 2018-12-28 17:35:10
    很多时候,由于项目变更的需要,我们会将一个网站的域名变更为另外一个域名,又或者是一个地址转变为另外一个地址。而在项目里进行跳转并不是一个明智的选择,这个时候我们就可以使用到apache的mod_rewrite模块。 ...
  • 301永久重定向 seo评分 把之前的地址评分给新的地址 302临时重定向 开启新的评分 【重定向基础知识】 .htaccess [R] RewriteEngine On RewriteRule ^(.*)\.htm$ $1.html [R=301]#重定向 [C] RewriteEngine On ...

空空如也

1 2 3 4 5 ... 14
收藏数 263
精华内容 105
关键字:

地址重定向apache