PHP配置虚拟主机

虚拟主机: 不是真实存在的主机, 因为一台电脑理论上讲只能作为一个网站: 事实上,一个网站是一个文件夹.
在本地开发中,通过虚拟主机配置可以实现多域名独立访问不同项目目录(如 `www.project1.test` 和 `www.project2.test`),以 ”XAMPP + Apache“为例。


 一、环境准备与基础概念

a. 启动XAMPP
2. 打开XAMPP控制面板。
2. 点击Apache模块旁的“Start“按钮。
3. 验证是否启动成功:浏览器访问 `http://localhost`,应显示XAMPP默认页面。

b. 项目目录规划
假设项目存放在 `D:/xampp/htdocs/` 下,结构如下:
 

D:/xampp/htdocs/
├─ www.aa.com/ # 对应域名 www.aa.com
│ └─ index.php # 项目入口文件
├─ www.cs.com/ # 对应域名 www.cs.com
│ └─ index.php
└─ index.php # 默认入口(localhost)
```


二、域名解析:修改hosts文件


1. hosts文件的作用
将自定义域名指向本地IP `127.0.0.1`,绕过DNS解析,实现“假域名”访问。
2. 操作步骤(Windows)
1.以管理员身份打开文件:
- 按 `Win + S`,搜索”Notepad“,右键选择”以管理员身份运行“。
- 在记事本中点击”文件 > 打开“,导航至 `C:\Windows\System32\drivers\etc`,选择”所有文件“,打开 `hosts`。
2.添加域名映射:

plaintext
127.0.0.1 localhost
127.0.0.1 www.aa.com
127.0.0.1 www.cs.com
```


3.保存文件:
- 如果提示权限不足,可将文件复制到桌面修改后,再覆盖回原目录。
3. 其他系统(Mac/Linux)
-Mac:终端执行 `sudo nano /etc/hosts`,输入密码后编辑。
-Linux:终端执行 `sudo gedit /etc/hosts` 或使用vim。


三、Apache虚拟主机配置


1. 修改httpd-vhosts.conf
1. 打开文件:
`D:\xampp\apache\conf\extra\httpd-vhosts.conf`
2.清空默认示例:删除文件内所有默认的`<VirtualHost>`块(避免冲突)。
3.添加以下配置:

apache
默认主机(localhost)
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs"
ServerName localhost
<Directory "D:/xampp/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>项目1:www.aa.com
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/www.aa.com"
ServerName www.aa.com
<Directory "D:/xampp/htdocs/www.aa.com">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>项目2:www.cs.com
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/www.cs.com"
ServerName www.cs.com
<Directory "D:/xampp/htdocs/www.cs.com">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
```


2. 关键配置项解析
-DocumentRoot:项目文件的物理路径。
-ServerName:绑定的域名。
-\<Directory\>:目录权限控制块。
- `Options Indexes FollowSymLinks`:允许目录浏览、符号链接。
- `AllowOverride All`:启用 `.htaccess` 文件重写规则。
- `Require all granted`:允许所有请求访问。

3. 启用虚拟主机模块
1. 打开主配置文件:
`D:\xampp\apache\conf\httpd.conf`
2. 确保以下行未被注释(删除开头的`#`):
```apache
Include conf/extra/httpd-vhosts.conf
LoadModule rewrite_module modules/mod_rewrite.so
```


四、重启Apache并验证


1. 重启服务
- 在XAMPP控制面板中,先点击 ”Stop“,再点击 ”Start“重启Apache。

2. 验证域名解析
- 命令行测试:
```bash
ping www.aa.com
应返回 127.0.0.1
```
- 浏览器访问:
- `http://www.aa.com` → 显示 `www.aa.com` 目录下的内容。
- `http://www.cs.com` → 显示 `www.cs.com` 目录下的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装Kafka以及windows安装Kafka和常见问题解决

目录 Linux上安装Kafka 当主题删除不了时&#xff0c;可以进入zookeeper&#xff1a; windows上安装kafka 安装Kafka需要有Zookeeper&#xff0c;或者也可以使用kafka自带的zookeeper Linux上安装Kafka 将kafka的安装包上传到/export/server目录并解压&#xff0c;重命名&…

本地YARN集群部署

请先完成HDFS的前置部署&#xff0c;部署方式可查看:本地部署HDFS集群https://blog.csdn.net/m0_73641796/article/details/145998092?spm1001.2014.3001.5502 部署说明 组件配置文件启动进程备注Hadoop HDFS需修改 需启动: NameNode作为主节点 DataNode作为从节点 Secondary…

UnrealEngine UE5 可视化 从地球观察火星 金星 土星 运动轨迹

视频参考&#xff1a;https://www.bilibili.com/video/BV1KpXSYdEdo/ 从地球观察土星的运动轨迹 从地球观察火星 轨迹 从地球观察金星的运动轨迹

【练习】【二叉树】力扣热题100 102. 二叉树的层序遍历

题目 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例…

鬼泣:项目前置设置杂项

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 插件niagara ui render&#xff1a;在 UI 中渲染 Niagara 特效skeletal editor&#xff1a;编辑骨骼&#xff0c;调整骨骼动画motion warping&#xff1a;根据目标自动调整角色动画。animation warping&#xff1a;…

通用信息抽取大模型PP-UIE开源发布,强化零样本学习与长文本抽取能力,全面适配多场景任务

背景与简介 信息抽取&#xff08;information extraction&#xff09;是指&#xff0c;从非结构化或半结构化数据&#xff08;如自然语言文本&#xff09;中自动识别、提取并组织出结构化信息。通常包含多个子任务&#xff0c;例如&#xff1a;命名实体识别&#xff08;NER&am…

Matlab实现车牌识别

车牌识别技术作为现代智能交通系统、安防监控以及诸多车辆管理应用场景中的关键环节&#xff0c;正发挥着日益重要的作用&#xff0c;它能够自动、快速且精准地从车辆图像或视频流中提取车牌信息&#xff0c;实现车辆身份的智能化识别。 技术原理 车牌识别主要依托于图像处理、…

基于Asp.net的零食购物商城网站

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

数据结构与算法:二分答案法

前言 二分答案法是很牛逼的一种算法&#xff0c;本质思想就是猜答案&#xff0c;然后看能不能对上条件。 一、内容 1.使用条件 只有当让你输出的答案只有一个数的时候&#xff0c;且答案与给定条件之间存在单调性关系时才能使用。 2.步骤 首先&#xff0c;要先确定答案那…

Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件

Ubuntu20.04双系统安装及软件安装&#xff08;十一&#xff09;&#xff1a;向日葵远程软件 打开向日葵远程官网&#xff0c;下载图形版本&#xff1a; 在下载目录下打开终端&#xff0c;执行&#xff1a; sudo dpkg -i SunloginClient(按tab键自动补全)出现报错&#xff1a; …

快速生成viso流程图图片形式

我们在写详细设计文档的过程中总会不可避免的涉及到时序图或者流程图的绘制&#xff0c;viso这个软件大部分技术人员都会使用&#xff0c;但是想要画的好看&#xff0c;画的科学还是比较难的&#xff0c;现在我总结一套比较好的方法可以生成好看科学的viso图(图片格式)。主要思…

C++设计一:日期类Date实现

一、引言与概述 1 引言 日期操作是软件开发中的常见需求&#xff0c;如日程管理、数据统计等场景均需处理日期的比较、偏移及合法性校验。为简化此类操作&#xff0c;本文设计了一个高效且类型安全的C日期类Date。 该类通过构造函数内嵌合法性检查&#xff0c;确保对象初始状…

【网络安全】——协议逆向与频繁序列提取:从流量中解码未知协议

目录 引言 一、为什么要结合频繁序列提取&#xff1f; 二、四步融合分析法 步骤1&#xff1a;原始流量采集与预处理 步骤2&#xff1a;多粒度序列模式挖掘 层1&#xff1a;单包内字节级频繁项 层2&#xff1a;跨数据包的行为序列 步骤3&#xff1a;关键字段定位与结构假…

【PAT (Basic Level) Practice】——【数论】1013 数素数

文章目录 一【题目难度】二【题目编号】三【题目描述】四【题目示例】五【解题思路】六【最终得分】七【代码实现】八【提交结果】 一【题目难度】 乙级 二【题目编号】 1013 数素数 三【题目描述】 令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104&#xff0c;请输出…

HCIA—IP路由静态

一、概念及作用 1、概念&#xff1a;IP路由是指在IP网络中&#xff0c;数据从源节点到目的节点所经过的路径选择和数据转发的过程。 2、作用 ①实现网络互联&#xff1a;使不同网段的设备能够相互通信&#xff0c;构建大规模的互联网络 ②优化网络拓扑&#xff1a;根据网络…

雷池WAF的为什么选择基于Docker

Docker 是一种开源的容器化平台&#xff0c;可以帮助开发人员将应用程序及其所有依赖项打包到一个称为容器的独立、可移植的环境中。Docker 的核心概念包括以下几点&#xff1a; 容器&#xff1a;Docker 使用容器来封装应用程序及其依赖项&#xff0c;使其能够在任何环境中都能…

图像分类项目2:鸟类图像分类

1 数据集处理 1.1数据集下载 数据集来源&#xff1a;kaggle&#xff0c;网址&#xff1a;https://www.kaggle.com/&#xff0c;点击进入网站&#xff0c;左侧选择Datasets。 进入后搜索栏搜索关键词bird。此时出现很多数据集可以选择&#xff0c;推荐选择第一个或者第三个。…

01_NLP基础之文本处理的基本方法

自然语言处理入门 自然语言处理&#xff08;Natural Language Processing, 简称NLP&#xff09;是计算机科学与语言学中关注于计算机与人类语言间转换的领域&#xff0c;主要目标是让机器能够理解和生成自然语言&#xff0c;这样人们可以通过语言与计算机进行更自然的互动。 …

利用opencv_python(pdf2image、poppler)将pdf每页转为图片

1、安装依赖pdf2image pip install pdf2image 运行.py报错&#xff0c;因为缺少了poppler支持。 2、安装pdf2image的依赖poppler 以上命令直接报错。 改为手工下载&#xff1a; github: Releases oschwartz10612/poppler-windows GitHub 百度网盘&#xff1a; 百度网盘…

IDEA入门及常用快捷键

IDEA是java常用的IDE。当run一个.java文件时&#xff0c;其实是经历了先编译为.class&#xff0c;再运行的过程。 在project文件夹中&#xff0c;out文件夹存储编译的.class文件&#xff0c;src文件夹存储.java代码文件。 设置自动导包 快捷键&#xff1a; 格式化快捷键&…