首页重定向 RewriteRule ^$ shop/index.php
本文主要介绍Apache环境下,如何使用mod_rewrite模块完成URL重写功能。 开启mod_rewrite模块 使用URL重写功能,需要安装mod_rewrite模块。...如果没有开启mod_rewrite, 就需要配置mod_rewrite.so的路径: LoadModule rewrite_module modules/mod_rewrite.so 打开http.conf...,一般只要去掉之前的#号即可,重启Apache服务(所有对http.conf做的操作都需要对Apache进行重启) Apache2内置了mod_rewirte,在配置虚拟主机的配置文件VirtualHost...Apache 在更改版本的时候会更改正则引擎,一代Apache要求有斜杠而二代Apache却不允许!但是我们可以用^/?(?表示匹配字符本身或者前一个字符)来兼容两个版本的Apache。...告诉Apache服务器一系列的条件或者是规则将在它出现后结束,换句话说就是[L]不出现,mod_rewrite将会一直执行。 "noescape|NE" 在输出中不对URI作转义。
给apache安装mod_rewrite模块 只是用来做参考,相关情况可跟据自己的需求进行修改 如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以...如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache 中进行加载,下面我们就介绍这个方法。...这时,你的apache应该已经支持rewrite了。...这时,你的apache应该已经支持rewrite了。...注意下一步,配置虚拟主机的时候要类似如下设置才可以生效: DocumentRoot /var/www/www/www.fastu.cn/ ServerName www.fastu.cn Options
那就是配置虚拟主机!...虚拟主机和默认网站在apache中不能同时存在,只能存在一种,当虚拟主机出现后,apache默认网站就失效了,如果你还需要默认网站,就拿虚拟主机在发布一次默认网站对应的站点即可解决。...so 虚拟主机有三种实现方式 基于IP地址 基于监听端口 基于域名(host) 接下来我们就可以使用虚拟主机发布多个网站吧,大家在学习的同时要总结每种实现方式的特点及应用场景 二、基于IP的虚拟主机 step...1 修改主配置文件,打开虚拟主机子配置文件 [root@zutuanxue apache]# egrep "Include" conf/httpd.conf #Include conf/extra/httpd-mpm.conf...1)给服务器配置多个IP,有几个虚拟主机及配置几个IP地址,我们实验用了两个虚拟主机,所以我有两个IP即可 192.168.11.251 192.168.11.252 [root@zutuanxue
Apache的mod_rewrite是提供了强大URL操作的杀手级 的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和运用...,即使 是Apache专家有时也会发掘出mod_rewrite的新用途。...(非),和标志C (链) 注意最后一条规则的全匹配模式 代码: NCSA imagemap和Apache mod_imap 说明: 许多人都希望在从NCSA网站服务器向较现代的Apache网站服务器转移中实现平滑过渡.../(.*) $1/$3 [E=STATUS:$2] 虚拟用户主机 说明: 如果需要为用户username支持一个www.username.host.domain.com的主页,但不是用在此机器上建虚拟主机的方法...通常,Apache内核中的URL转义函数uri_escape()同时还会 对anchor转义,即,类似"url#anchor"的URL,因此,你不能用mod_rewrite对此类URL直接重定向。
修改Apache的虚拟主机配置文件 httpd-vhosts.conf,在文件的最后加上如下的代码: NameVirtualHost *:80 ServerName...www.web.com ServerAlias web.com DocumentRoot “E:\xampp\htdocs\web” 注意:请确保Apache...的主配置文件里加载了httpd-vhosts.conf,虚拟主机配置才会生效。...然后,进行DNS域名解析,重启Apache即可。 如果仅仅是本地测试或开发用,可以直接修改本地的hosts文件。
在本文中,我们将讨论如何在Apache中配置虚拟主机。虚拟主机配置在配置Apache虚拟主机之前,您需要确保已经安装和配置了Apache Web服务器。...systemctl start httpd配置虚拟主机在Apache中配置虚拟主机需要编辑Apache的配置文件。...重载Apache配置完成虚拟主机的配置后,您需要重新加载Apache的配置文件以使更改生效。...多个虚拟主机配置在Apache中可以配置多个虚拟主机,假设我们有两个域名 example1.com 和 example2.com,它们指向同一个服务器的 IP 地址。...我们想要让这两个域名指向同一个 Apache 服务器,但是在服务器上要提供不同的内容,这时候就需要使用虚拟主机来实现。
Ubuntu下启用rewrite模块 如下命令安装: sudo a2enmod rewrite 在/etc/apache2目录下的mods-available(未启用模块),mods-enabled(已启用模块...单单上面那条命令还不足以完成使Apache接收请求进行重写机制。...还需要通过命令; sudo vim /etc/apache2/sites-enabled/000-default 将 AllowOverride None 全部改成 AllowOverride All...上面的 /etc/apache2/sites-enabled/000-default 实则为 /etc/apache2/sites-available/default 的连接。...而 AllowwOverride None 则会完全忽略 .htaccess 文件,自然其中所定义的 rewrite 规则也就不能生效了。
语法: RewriteCond TestString CondPattern
Apache默认虚拟主机 : 什么是虚拟主机?当你的一台服务器上面运行多个多个网站,每个网站都是一个虚拟主机!...任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机 vim /usr/local/apache2.4/conf/httpd.conf //搜索httpd-vhost,去掉# 创建自定义站点...vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //改为如下定义多个server name ServerAdmin...php echo "welcome access haha.com"; ---- 检查服务是否配置正确: /usr/local/apache2.4/bin/apachectl –t /usr/local.../apache2.4/bin/apachectl graceful 测试 由于这种域名(abc.com;123.com;haha.com)早就被人注册掉了,所以几乎是都在使用的状态,所以我们必须更改hosts
需求背景是: 把所有请求都转发到/111/目录下面,比如当访问 www.aaa.com/1.html时,应该跳转到www.aaa.com/111/1.html ...
APACHE的 MOD_rewrite模块....下面我写怎么样重写.分为 WINDOWS和LIUNX2种 都是操作 APACHE安装文件夹内的 CONF文件夹里面的httpd.conf 打开以后,找到 #LoadModule rewrite_module..."modules/mod_rewrite.so" 把#去掉....然后找到虚拟主机配置 在虚拟主机中加入 RewriteEngine On RewriteRule ^/soft/([0-9]+).html /soft.php?...LIUNX下是一样的 但是要加 开始 结束 重写都加在虚拟主机设置中. 如果没有虚拟主机,那加在最后!
基于ip的虚拟主机 案例:三个IP分别对应三个域名及三个目录 192.168.124.222 www.abc.com /var/www/abc 192.168.124.223 tec.abc.com
扩展: apache rewrite教程 rewrite engine会对每条rewrite规则进行解析,每条rewrite规则可以带或不带rewrite condition, 带的话写在该条rewrite...如果rewrite规则符合,会进一步检查rewrite condition.具体处理如下: 首先匹配rewrite的patern,若不匹配则进入下一条rewrite rule。...如果匹配,则mod_rewrite检查rewrite condition, 如果没有condition,则新的string将替换url,然后进入下一条rewrite rule....你必须确保此替换串是一个有效的(比如常见的以 http://hostname开头的)能够为Apache代理模块所处理的URI。...其实apache手册中有: http://man.chinaunix.net/newsoft/ApacheManual/mod/mod_rewrite.html apache的官方rewrite guide
vim /usr/local/apache2/conf/httpd.conf //搜索httpd-vhost,去掉# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf.../bin/apachectl –t - /usr/local/apache2/bin/apachectl graceful ## 默认虚拟主机 - 默认虚拟主机,可以理解成Apache(也就是httpd...,以DocumentRoot ,但这样不太好管理,毕竟一台服务器上可以跑多个域名,若不想域名都指向到这里,所以需要打开一个虚拟主机配置文件 打开虚拟主机,在/usr/local/apache2.4/conf.../httpd.conf 配置文件中 [root@hf-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf 搜索/extra 关键词,这一行就做虚拟主机 #...在虚拟主机里面有一个特殊的默认虚拟主机,所谓默认虚拟主机就是无论任何域名解析到这个IP上,都会去访问默认虚拟主机
这个时候就要了解虚拟主机的概念了。了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主机,或者让一台apache支持多个网站的共同运营。...参考资料: 1 http://httpd.apache.org/docs/2.2/ 2《Apache cookbook》 虚拟主机寻址方式 IP地址方式:每台虚拟主机都有其唯一的IP地址...名称寻址方式:多台虚拟主机会以不同的名称在同一IP地址上运行 以名称寻址的虚拟主机 使用NameVirtualHost *指令以及区块 ServerName...www/htdocs #_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求 #_default_ 可与端口号同时使用..._default_:443 会接受443端口号的所有未设定虚拟主机的请求 端口号寻址的虚拟主机 Listen 8080
Apache默认虚拟主机: Windows系统hosts管理 Windows系统中hosts位置“C:\Windows\System32\drivers\etc\hosts”。...LinuxApache虚拟主机管理 在物理机访问的域名“www.adai.com”并未在虚拟机Apache配置文件中定义,虚拟机中只定义了“ServerName www.example.com:80”一个域名...因为一台服务器可以跑多个域名,为了方便管理,需要对虚拟主机进行配置 配置虚拟主机 编辑Apache配置文件: vim /usr/local/apache2.4/conf/httpd.conf 搜索 Virtual...hosts 然后找到这段配置 把注释的#号去掉Include conf/extra/httpd-vhosts.conf 虚拟主机配置文件: vim /usr/local/apache2.4/conf...,因为已经自定义添加了虚拟主机,所以此时的默认虚拟主机为配置文件“httpd-vhosts.conf”中的第一个虚拟主机(在此为abc.com),效果如下: 打开虚拟主机文件以后那么http主配置文件失效
由于项目的需要,开始学习php,开始就把我跟憋住了,配置虚拟主机,看网上的配置,跟着一步一步的走,总是不通,原来呢,是没有使用虚拟主机配置是成功。...2、 # AllowOverride None # Options None # Require all
服务器租用后,安装Apache程序,如果是配置Apache虚拟主机,可以参考下面的教程。...1、基于ip地址的虚拟主机 代码如下: Listen 80 DocumentRoot /home/httpd/html1 ServerName www.ok1.com ErrorLog.../usr/local/apache/logs/access2_log combined 2、基于IP 和多端口的虚拟主机配置 代码如下: Listen 172.20.30.40:80 Listen...www.example1.org DocumentRoot /www/example2-8080 ServerName www.example2.org 3、单个IP 地址的服务器上基于域名的虚拟主机配置...在apache目录下建立目录,以放置您不同的网站。
修改虚拟主机配置文件 httpd-vhosts.conf 3. 配置本地路由表 hosts 4. 虚拟主机配置完整格式 5. 参考文章 1....修改主配置文件 httpd.conf ---- 去掉注释:加载虚拟主机模块,开启apache虚拟主机功能 LoadModule vhost_alias_module modules/mod_vhost_alias.so...去掉注释:加载URL重写模块,开启URL重写功能【URL重写】 LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so 去掉注释:加载虚拟主机配置文件...修改虚拟主机配置文件 httpd-vhosts.conf ---- 虚拟主机配置文件位置:conf/extra/httpd-vhosts.conf 虚拟主机网站目录必须在apache站点根目录下,否则访问时报...虚拟主机配置完整格式 ---- //主机的IP地址和端口号 5.
领取专属 10元无门槛券
手把手带您无忧上云