`
liyixing1
  • 浏览: 957199 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

ServerPath 指令

 
阅读更多
语法 ServerPath URL-path
说明 为兼容性不好的浏览器访问基于域名的虚拟主机保留的URL路径名

要了解ServerPath 的作用,就不得不说一下http的host头信息
HTTP/1.1要求在请求的时候发送Host头域,值是资源的Intenet主机和端口号,也就是说你访问xxx.bbb.com:8080/aaa/bbb的时候,host头信息将xxx.bbb.com:8080。

但是老的浏览器不会发送这个host头信息。
于是在apache的虚拟服务器中,比如
<VirtualHost 172.20.30.40>
DocumentRoot /www/subdomain/sub1
ServerName www.sub1.domain.tld
ServerPath /sub1/
RewriteEngine On
RewriteRule ^(/sub1/.*) /www/subdomain$1
# ...
</VirtualHost>

<VirtualHost 172.20.30.40>
DocumentRoot /www/subdomain/sub2
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
RewriteRule ^(/sub2/.*) /www/subdomain$1
# ...
</VirtualHost>

因为对于虚拟主机来说,两个IP是相同的。当通过
www.sub1.domain.tld
或者
www.sub2.domain.tld
访问的时候,同时满足了两个虚拟主机,如果没有发送host过来,那么自然无法识别应该访问哪个虚拟主机。

于是这个时候ServerPath 起作用了。
如果发送了host,只要根据host的值和ServerName 比较一下而已,也就是说
www.sub2.domain.tld下面的任何路径都将映射到第二个虚拟主机。
但是没有发送host的情况就不行,这个时候只能根据路径来寻找了。
htp://www.sub1.domain.tld/sub1/符合第一个虚拟主机,于是进入第一个虚拟主机。
另外一点需要说明的是,如果没有发送host的主机,那么不管你是http://www.sub2.domain.tld/sub1/
还是http://www.sub1.domain.tld/sub1/
的请求,都将被第一个虚拟主机所处理。因为没有发送host,只能通过路径来发现,两个域名虽然不同,但是他们的路径都只满足第一个而不是第二个虚拟主机。
分享到:
评论

相关推荐

    UR机器人e系列Dashboard指令功能表

    - 查询已加载的程序文件路径,返回"Loaded program: &lt;path to loaded program file&gt;"或"No program loaded"。 10. **popup ** - 显示带有指定文本的弹窗,若文本存在选定语言文件中,将被翻译成相应语言,返回...

    nginx的server和location匹配规则

    2. Location 块可以根据 path 指令来进行匹配,如 location /uri-string { … }。 3. Location 块可以根据正则表达式来进行匹配,如 location ~ ^/uri-string { … }。 Nginx 是怎样根据优先级来选择 Server 块的:...

    Linux 操作系统 移植指令

    setenv serverip 192.168.7.28 ``` #### 设置启动命令 通过`setenv bootcmd`命令来定义具体的启动过程: ```bash setenv bootcmd 'nand read 0x30008000 0x40000 0x1c0000 ; go 0x30008000' ``` 该命令中,`nand ...

    linux内核移植 笔记--移植指令

    #setenv serverip 192.168.7.28 ``` - **设置启动命令**:定义启动时执行的命令序列。 ```sh #setenv bootcmd "nand read 0x30008000 0x40000 0x1c0000; go 0x30008000" ``` - **设置启动参数**:这些参数将...

    Asp.net2.0页面指令

    &lt;myControls:MyCustomControl runat="server" /&gt; ``` #### @Assembly @Assembly指令用于指定页面或用户控件所在的程序集,通常用于支持跨应用域的引用。 ```asp ``` #### @OutputCache @OutputCache指令用于配置...

    Java Web程序设计入门课件-JSP指令.pptx

    在这个入门课程中,我们重点关注JSP(JavaServer Pages)的指令使用,特别是page指令和include指令。 JSP指令是JSP页面的元数据,用于配置页面的全局特性。Page指令是JSP中最为常见的指令之一,它允许开发者定义JSP...

    SVN基本指令

    ### SVN基本指令详解 #### 目录架构与用途解析 Subversion(SVN)作为一款广泛应用的版本控制系统,其目录结构通常包含`Trunk`、`Tags`和`Branches`三大核心部分。 - **Trunk**: 被视为开发的主干道,所有的主要...

    Kepware IOT gateway使用教程 - REST Sever

    打开网页后,你会看到三种操作模式:browse、read 和 write,每种模式下都有对应的 JSON 文件格式示例和 curl 指令。 curl 是一个命令行工具,用于在命令行中发送 HTTP 请求。如果你还没有安装 curl,可以从 ...

    RconDiscordBot:在discord输入指令传送到mc server终端

    TOKEN = Bot's token PREFIX =指令前缀IP = server ip rcon_pw = rcon_password rcon_port = rcon_port server_path =伺服器启动档路径ex: D:\server\start.bat console_channel = Discord频道ID使用方式:运行...

    JSP的include指令的使用方法

    JSP(JavaServer Pages)是一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中,以此来创建动态内容。在JSP页面中,include指令是一个重要的组成部分,它用于在JSP页面编译之前将另一个文件的内容插入到当前...

    SHTML 教程(什么是 SHTML,SHTML高级指令)

    --#include virtual="/path/to/file.htm"--&gt;` 从指定的虚拟路径包含文件。 **注意事项**: - `file` 属性通常用于包含与当前文件位于同一目录下的文件。 - `virtual` 属性可以指定文件的虚拟路径,便于跨目录...

    appium-server最新安装包,亲测可用

    7. **运行测试**:连接你的移动设备或者启动模拟器,然后通过测试脚本向运行中的Appium Server发送指令,执行自动化测试。 8. **查看结果**:Appium Server会记录测试的详细日志,你可以通过这些日志分析测试过程和...

    Linux Network 用于发送 指令到服务器,服务器将结果发送到客户端输出.zip

    例如,`scp user@server:/path/to/result.txt local_path`将远程文件复制到本地。 3. **实时流**:对于持续的输出,例如日志流,客户端可以使用`tail -f`与`ssh`结合,实时查看远程文件的变化。 总结来说,Linux...

    JSP编译指令page、include详解

    - 当使用include指令包含其他JSP页面或文件时,如果存在同名的局部变量,如path或basepath,会导致编译错误。 - 解决这种命名冲突的方法有: - 改变被包含文件中的局部变量的名称,以避免与包含页面的变量名称...

    azkaban-web-server-亲测可用

    而Azkaban Executor Server则负责实际的任务执行,它接收Web Server的指令,运行作业并返回执行结果。 配置Azkaban Web Server通常包括以下几个步骤: 1. **环境配置**:确保Java环境已安装,Azkaban依赖Java运行...

    jsp基本语法(指令,包括各种动作,表达式,内置对象等)

    &lt;%@ include file="path/to/file.jsp" %&gt; ``` **示例**: ```jsp &lt;!-- Main content goes here --&gt; ``` #### Page指令 Page指令用于设置JSP页面的各种属性,如语言、编码方式等。 **JSP语法**: ```jsp ``` **...

    linux学习笔记v1.0 - 周立功开发板平台使用指令合集.docx

    ### Linux学习笔记v1.0 - 周立功开发板平台使用指令合集 #### 1.4 Makefile Makefile 是一个重要的自动化构建工具,用于自动化编译过程,通常用于 C 和 C++ 项目的编译。在《正点原子》I.MX6U嵌入式Linux驱动开发...

    Linux基础指令安装jdk1.8Tomcatmysql.zip

    本教程将引导你通过基础Linux指令来安装Java Development Kit (JDK) 1.8、Apache Tomcat应用服务器以及MySQL数据库管理系统。以下是详细的步骤和相关知识点。 首先,我们需要安装JDK。JDK是Java编程的基础,提供了...

Global site tag (gtag.js) - Google Analytics