`
qwex9iao
  • 浏览: 177053 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

(apache 设置) url 转发/跳转

阅读更多
weblogic中加默认用户和密码
startWebLogic.sh
-Dweblogic.management.username=weblogic -

Dweblogic.management.password=weblogic


apache中设置代理:
NameVirtualHost 10。88。3。7:80
<VirtualHost 10。88。3。7:80 >
ServerAdmin abc@123.com
ServerName 10.88.3.7
ErrorLog logs/rsa-error.log
CustomLog logs/rsa-access.log common
ProxyPass / http://10.88.3.5:7001
ProxyPassReverse / http://10.88.3.5:7001
</VirtualHost>
本来我可以访问http://10.88.3.5:7001/zhcxxt
我现在访问http://10.88.3.7/zhcxxt就可以了


apache中设置跳转:
修改httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so   
RewriteEngine On
RewriteRule ^/(.*) http://www.csdn.net/ [R,L]   
#无论http://localhost/XXX中XXX有多长都转到CSDN.net

RewriteRule ^/$ http://www.csdn.net/ [R,L]   
#只有当输入http://localhost时跳转,输入http://localhsot/index.html时不跳转.

RewriteRule ^/(.*) http://www.csdn.net/$1 [R,L]   
#当输入http://localhost/mm/index.htm 时转到

http://www.csdn.net/mm/index.htm
========================
apache_plugin:


apache和weblogic放在不同的机器上,动态生成的页面发到weblogic上去。
配置方法:

在每一台机器的apache配置文件中httpd.conf加入:

ServerName 10.88.3.7:80(apache服务器的IP和端口)

LoadModule weblogic_module modules/mod_wl_20.so

<IfModule mod_weblogic.c>
WeblogicHost <填写weblogic主机名或IP地址>
WeblogicPort <weblogic服务端口>
</IfModule>

<Location />
SetHandler weblogic-handler
</Location>

例:
LoadModule weblogic_module modules/mod_wl_20.so

<IfModule mod_weblogic.c>
WeblogicHost zhcxa.tj
WeblogicPort 7001
</IfModule>

<Location />
SetHandler weblogic-handler
</Location>

4.7版本n(n>1)级域名自动生成并绑定的说明

4.7版本的子店n(n>2)级域名自动生成并绑定的功能要达到以下效果
[attach]5170[/attach]

将以上对子店的访问形式,改写为
[attach]5171[/attach]



4.7多店中子店的n级域名绑定的原理是使用apache强大的url rewrite功能实现的

,有关url rewrite的详细说明请看apache的手册。

apache的url rewrite是基于正则表达式的,所以看这篇文章前最好对正则表达式

有个印象


一、启用该功能的要求

1.必须是apache服务器

2.apache必须已经打开mod_rewrite
[attach]5165[/attach]

如果windows下在httpd.conf中将附图上这行的注释符去掉就行了
[attach]5167[/attach]

如果您是*nix下编译安装,可以参考这个编译参数,这样会把重写模块编译进

apache核心中,加快处理速度
./configure \
--prefix=/usr/local/apache \
--with-mpm=prefork \
--enable-so \
--enable-rewrite=static \
--enable-track-vars

3.网站的域名必须做泛解析,就是让*.site.com都能指向的您服务器

本地测试可以修改hosts文件,模拟泛解析
[attach]5168[/attach]


二、配置过程:

1.配置apache的重写表,重写表保存有n级域名和子店实际物理地址的映射关系。

在include/mall_config.php中
$RewriteMap_Url="rmap/vhost.map";
设置apache重写表的保存地址,它的位置是相对与syssite目录。
重写表的格式如下
n级域名 子店的实际物理地址
样例:

shop1.www.xuni.com

D:/Server/wwwroot/shopexm47/syssite/home/shop/00/00/01

它的内容将会由ShopEx的注册程序在子店开通时生成。

由于这个文件保存有网站的物理地址,务必请将它设置为一个不容易猜测的目录。
[attach]5166[/attach]

2.在apache的配置文件httpd.conf中启用rewrite map功能

打开apache的配置文件httpd.conf在末尾添加以下配置信息


*nix系统的内容如下

RewriteLog          logs/rewrite.log
RewriteLogLevel     0
RewriteEngine       on
RewriteMap          lowercase int:tolower
RewriteMap          vhost txt:/var/www/html/syssite/vhost.map
RewriteCond         ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond         ${vhost:%1} ^(/.*)$
RewriteRule         ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]

windows系统的内容如下

RewriteLog          logs/rewrite.log
RewriteLogLevel     0
RewriteEngine       on
RewriteMap          lowercase int:tolower
RewriteMap          vhost

txt:D:/Server/wwwroot/shopexm47/syssite/rmap/vhost.map
RewriteCond         ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
RewriteCond         ${vhost:%1} ^(D:/.*)$
RewriteRule         ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]
[attach]5169[/attach]


附图中的

RewriteLogLevel     5

是用于调试用的,这样可以在logs/rewrite.log中看到形如:

127.0.0.1 - - [10/May/2007:11:33:42 +0800]

[shop1.www.xuni.com/sid#2cc240][rid#5934a80/initial] (4) RewriteCond:

input='shop1.www.xuni.com' pattern='^(.+)$' => matched
127.0.0.1 - - [10/May/2007:11:33:42 +0800]

[shop1.www.xuni.com/sid#2cc240][rid#5934a80/initial] (5) map lookup OK:

map=vhost[txt] key=shop1.www.xuni.com ->

val=D:/Server/wwwroot/shopexm47/syssitehome/shop/00/00/01
127.0.0.1 - - [10/May/2007:11:33:42 +0800]

[shop1.www.xuni.com/sid#2cc240][rid#5934a80/initial] (4) RewriteCond:

input='D:/Server/wwwroot/shopexm47/syssitehome/shop/00/00/01'

pattern='^(D:/.*)$' => matched
127.0.0.1 - - [10/May/2007:11:33:42 +0800]

[shop1.www.xuni.com/sid#2cc240][rid#5934a80/initial] (2) rewrite

'/index.php' ->

'D:/Server/wwwroot/shopexm47/syssitehome/shop/00/00/01/index.php'

以上的log片段就是一个rewrite的过程。

设为5是用于调试的,实际使用环境下务必将RewriteLogLevel 设置为0,否则

rewrite的log很快将您的磁盘撑爆!


要点:

1.正则^(.+)$ 要和vhost.map的第一部分匹配,在这个例子中^(.+)$是可以匹配

shop1.www.xuni.com的

2.正则^(D:/.*)$要和vhost.map的第二部分匹配,在这个例子中^(D:/.*)$是可以

匹配D:/Server/wwwroot/shopexm47/syssite/home/shop/00/00/01的

3.vhost.map的地址要用*nix like的格式,就是要用/表示目录,而不是windows的

\

所以win的主机要用
RewriteCond         ${vhost:%1} ^(D:/.*)$
把盘符D:加入到正则中,如果您的web文件不是放在D盘而是E盘,要把D:改为E:。
而*nix没有盘符,所以用
RewriteCond         ${vhost:%1} ^(/.*)$

4.这段配置信息的位置,一般放在httpd.conf的末尾。但是如果您的总站是用

VirtualHost进行绑定,请将以上的配置信息放在在VirtualHost的段中。

样例:
<VirtualHost 10.1.2.3>
    DocumentRoot    /www/docs/host.foo.com
    ServerName   host.foo.com
    ErrorLog   logs/host.foo.com-error_log
    TransferLog   logs/host.foo.com-access_log

    RewriteLog          logs/rewrite.log
    RewriteLogLevel     0
    RewriteEngine       on
    RewriteMap          lowercase int:tolower
    RewriteMap          vhost txt:/var/www/html/syssite/vhost.map
    RewriteCond         ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
    RewriteCond         ${vhost:%1} ^(/.*)$
    RewriteRule         ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%

{HTTP_HOST}}]
</VirtualHost>

三、网店后台配置说明

前缀+商品ID方式    shop     shopxxx.mysite.com
申请的商店用户名方式   username.mysite.com    (中文名会有问题)

四、参考资料:

1.rewrite map的路径问题:  

http://www.webmasterworld.com/apache/3239775.htm

2.简易正则表达式文档:      

http://www.w3pop.com/sucai/regular_expression/regular_expression.htm#ref

erence


Win的主机的Server变量有点不一样,需要替换syssite目录下的register_act.php

文件,否则生成
rewrite map有问题!

关键的配置在这里:一是要打开Httpd.comf中的
LoadModule rewrite_module modules/mod_rewrite.so   
RewriteEngine On
<VirtualHost 192.168.0.52:80> //这个是你原来的虚拟主机
   AddDefaultCharset GB2312
   ServerAdmin *@*.*
   ServerName www.a.com
   DirectoryIndex index.htm index.html index.jsp
   ErrorLog logs/*.net-error_log
   CustomLog logs/*.net-access_log common
   RewriteEngine     on
   RewriteLog           logs/rewrite.log
   RewriteRule       ^/$ http://www.b.com/$1 [R=301,L] //这里设置转向

   </VirtualHost>




apache的404错误自定义跳转说明
Submitted by wayswang on 2007, November 2, 9:40 AM. Linux

404错误其实就是我们经常见到的找不到文件的错误,但是那是默认的效果,很难

看。

有时候我们需要的这样的功能:我们要记录下来404是的页面时哪些,更有些时候

我需要判断404页面是不是本来系统应该生成的静态页面但是没有生成成功的,如

果是,我们应该生成这个静态页面,然后把生成的静态页面返回给用户。

我要处理的逻辑就是:把404错误跳转到一个页面,我们取名叫:missing404.php

然后再这个页面中实现我们需要的功能。

首先定义跳转:在虚拟站点定义中使用如下语句即可。

ErrorDocument 404 http://www.blogguy.cn/missing404.php


定义完成后的虚拟站点如下

<VirtualHost *:80>

     ServerAdmin     wayswang@gmail.com

      DocumentRoot /usr/local/apache/htdocs/blogguy.cn

      ServerName www.blogguy.cn

      ServerAlias     blogguy.cn

      ErrorLog logs/blogguy.cn_err_log

      CustomLog logs/blogguy.cn-access_log2 common

      ErrorDocument 404 http://www.blogguy.cn/missing404.php

     <IfModule mod_limitipconn.c>

      <Location /upimg/soft>

         MaxConnPerIP 5

     </Location>

      </IfModule>

</VirtualHost>

在missing404.php中的处理将另外说明

这里再提供另外一种方法,但是不推荐,以为比较耗资源,使用 .htaccess 来重

定向

在 .htaccess 中加入

ErrorDocument 404 /404.html

不要以为就此完了,你可能会发现404.html根本跳转不到他上面去,嘿嘿,原因是

你的404.html文件太小了,IE认为找不到,又是404错误。如果404.html的小于512

字节的话,那么IE会认为这个错误页面不够“友好”,会忽视掉的。
分享到:
评论

相关推荐

    PHP页面跳转到其它页面 但是地址栏不显示URL网页路径.zipPHP打开页面 但是地址栏不显示URL路径

    `[L]`表示这是最后一条规则,`[P]`标记则启用代理,使得请求通过内部代理转发,从而隐藏真实URL。 4. 修改Apache配置: 在Apache的配置文件`httpd.conf`中,确保`.htaccess`文件的使用被允许。找到`AllowOverride`...

    二级域名管理插件(实现URL隐藏转发) for Discuz!7.2 GBK UTF8.rar

    实现URL的隐藏转发,例如:bbs.itopapp.com绑定到虚拟主机上的bbs目录,浏览器中不会跳转到http://www.itopapp.com/bbs了,而直接显示http://bbs.itopapp.com 。 2.域名管理   说明:安装成功后,提供了3个...

    nginx负载均衡ssl证书认证强制跳转https+keeplived+apache

    尽管配置没有详细介绍Apache的设置,但在实际操作中,Apache可能需要配置以接受Nginx转发的HTTPS请求,并配置相应的站点和服务。 6. **安装和配置流程**:描述中的安装步骤包括了安装Nginx和Keepalived的依赖包,...

    fastcgi 数据发送,跳转 实例

    // 设置跳转的URL exit; // 结束脚本,防止进一步的输出 ?&gt; ``` 上述代码将导致浏览器跳转到`http://example.com/new-page.php`。 **其他技术** - **Apache ActiveMQ**:ActiveMQ是Apache软件基金会的一个开源...

    Apache Rewrite url重定向功能的简单配置

    Apache Rewrite 是Apache HTTP Server中的一个模块,它提供了URL重写功能,能够对用户请求的URL进行转换,以便实现各种高级的网站路由和管理策略。这个功能主要基于Perl语言的正则表达式规则,使得我们可以灵活地...

    根据域名跳转代码

    在早期互联网时代,由于技术限制,很多情况下无法实现域名级别的直接转发,因此需要通过编程手段来实现域名跳转功能。 ### 2. 使用ASP实现域名跳转 #### ASP简介 ASP(Active Server Pages)是一种服务器端脚本...

    java 页面跳转问题

    - `document.frm1.action`用于设置表单提交的目标URL。 - `document.frm1.submit()`用于提交表单,进而实现页面跳转。 #### 知识点三:Struts配置文件中的Action映射实例 以下是一个具体的Action映射示例: ```xml...

    关于servlet的页面跳转经典例子

    在这个“关于servlet的页面跳转经典例子”中,我们将探讨如何在Servlet中实现页面重定向和请求转发,同时也会涉及到数据库连接的相关知识。 1. **Servlet中的页面跳转** - **请求转发(Request Forward)**:在...

    Apache与Tomcat集群,伪静态,负载均衡

    通过学习这份文档,你可以了解如何利用重写规则进行URL美化、隐藏真实路径、实现路径跳转等多种功能。 在集群环境中,为了保证一致性,通常需要使用session复制或共享存储来管理用户会话。session复制是指在集群中...

    跟我一起学struts2之一:环境搭建篇

    3. **ActionMapping**:定义了Action与URL之间的映射关系,通常在struts.xml配置文件中设置。 4. **Result**:Action执行后,会返回一个Result,Result负责渲染视图或跳转到下一个页面。 5. **Interceptor(拦截器...

    跨域共享session (实现http跳转https 共享session)

    3. **代理服务器**:设置一个代理服务器,所有跨域请求都通过代理服务器转发,服务器端保持session不变,前端只需与代理服务器通信即可。 4. **WebSocket**:WebSocket协议本身支持跨域,可以用来传输session信息,...

    Nginx端口映射配置方法

    对于多端口映射,可以设置多个`location`块来处理不同的URL路径,每个`location`对应一个不同的端口映射。以下是一个多端口映射的例子: ```nginx server { listen 80; server_name www.example.com; location ...

    详解nginx配置url重定向-反向代理

     apache主机,hostname: client1.lansgg.com IP: 192.168.10.129 一、nginx 地址重定向 二、nginx 反向代理 1、地址重定向:是指当使用者浏览某个网址时,将他导向到另一个网址的技术。常用在把一串很长的网址...

    beginning Apache struts from Novice To Professional struts基础教程

    - ActionForward:定义请求转发,可以是内部页面跳转,也可以是外部URL重定向。 6. **ActionForm**: - 包含用户输入的数据,通过表单提交到服务器。 - 使用`validate()`方法进行客户端验证,减少无效请求。 7....

    Tomcat配置https并访问http自动跳转至https

    Apache Tomcat是一个广泛使用的开源Web服务器和Servlet容器,下面将详细介绍如何在Tomcat中配置HTTPS,并实现当用户通过HTTP协议访问时,自动跳转到HTTPS协议。 ### 配置Tomcat的server.xml文件 配置HTTPS涉及到...

    struts2 路径问题

    常见的结果类型有dispatcher(dispatcher是默认的,用于转发到一个JSP或Freemarker模板),stream(用于处理文件下载),redirect(重定向到另一个URL)。结果路径的配置错误可能导致页面加载失败或重定向错误。 3....

    php框架进行 空操作,空方法,空控制器所跳转到404页面模板

    6. **URL重写**:如果框架使用了URL重写(如Apache的`.htaccess`或Nginx的配置),还需要确保404错误被正确地转发到框架的错误处理机制,而不是服务器的默认404页面。 通过以上步骤,PHP框架可以提供一个统一的、...

    伪静态.txt伪静态.txt

    URL重写是指将一个URL(源URL)映射到另一个URL(目标URL),从而实现从一个页面跳转到另一个页面的功能。通常情况下,源URL是用户可见的友好链接,而目标URL则是真实的服务器资源路径。在Web开发中,可以通过多种...

    Struts2配置文件[文].pdf

    - `result`元素定义Action执行后跳转的目标页面,`name`是返回值的名称,`type`是结果类型,如`dispatcher`(默认),表示使用Servlet的Dispatcher来处理结果。 **命名空间(Namespace)** 命名空间用于将不同的...

Global site tag (gtag.js) - Google Analytics