apache 重写和虚拟目录配置
要求:
假如我请求一个地址:www.lxy.com/news-sport-id123.html
转成:www.lxy.com/show.php?cate=news&class=sport&id=123
步骤:
①首先我们需要在apache中启用rewrite模块
打开apache的httpd.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so,将前面的‘#’去掉。
②创建虚拟目录
<VirtualHost *:80>
#网站域名
ServerName www.lxy.com
#网站根目录
DocumentRoot "E:/web/lxy/"
#设置网站目录的权限
<Directory "E:/web/lxy/">
#设置顺序,如下规则的意思是首先允许所有访问但是拒绝1.1.1.1这个ip访问这个刚开始把我弄晕了
Order allow,deny
Allowfrom All
Deny from 1.1.1.1
#options选项设置网站是否可以列出文件列表,网站正式上线后除了有特殊需求否则都不允许列出文件列表,但是需要特别注意的是如果开启apache的rewrite后,options的参数必须为+indexes
#允许列出文件列表
Options +Indexes
#不允许列出文件列表的选项为 Options +Indexes
#设置欢迎页面
DirectoryIndex 11.php
#如果匹配不到,可以指定一个错误页
errorDocument404 /404.php
#可以把Allowoverride这个启动,然后把重写规则放到 .htaccess中,也可以直接放在虚拟主机中配置
#Allowoverride All
RewriteEngine On
#重写规则
#RewriteRule news-id(\d+)\.html$ show.php?id=$1
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-id(\d+)\.html$show.php?cat=$1&class=$2&id=$3
</Directory>
</VirtualHost>
③.下面我写一个show.php的文件,内容主要为打印出接收到的参数即可
<?php
Print_r($_SERVER);
?>
接下来我们来访问以下即可
我们也可以把重新规则写入.htaccess文件中,将.htaccess文件放到网站根目录 或者 需要执行的PHP文件所在的文件夹下。然后将 Allowoverride All添加到虚拟目录的配置选择中去,在.htaccess文件中添加重写规则即可。
#创建一个Rewrite Engine (URL重写工具)
RewriteEngine On
#定重写规则: 主要使用正则表达式
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-id(\d+)\.html$ show.php?cat=$1&class=$2&id=$3
效果跟将重写规则写在配置文件中是一样的。
转载于:https://blog.51cto.com/wangyueheng88/1383911
apache 重写和虚拟目录配置相关推荐
- nginx虚拟目录配置
2019独角兽企业重金招聘Python工程师标准>>> 今天搞了N久的虚拟目录配置,在几乎要放弃的时侯偶然看到一篇文章,将我的问题搞定 原贴地址:http://blog.sina.c ...
- Tomcat虚拟目录配置
为什么80%的码农都做不了架构师?>>> 设虚拟目录 "site",通过http://localhost:8080/site访问物理路径 D:"s ...
- 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。...
调试ASP.NET程序时发生错误:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程 ...
- linux系统中apache虚拟目录配置
在搭建网站的时候,我们会经常在同一台服务器上面搭建多个站点,这时候就需要用到apache的虚拟机知识.下面就linux系统下apache虚拟目录的配置说简要说明: 1.源代码安装apache + PH ...
- mac中apache服务器及虚拟主机配置
输入 sudo apachectl start,这样Apache就启动了.打开Safari浏览器地址栏输入 "http://localhost",可以看到内容为"It w ...
- linux下安装iasp以及apache多站点虚拟主机配置
安装配置 1. linux下安装iasp 1.1需要准备的的安装包: httpd-2.0.59.tar.gz(最好选该版本,2.2版本在安装配置完后启动出错 ...
- Apache多网站虚拟目录域名
一台服务器安装了Apache,如何绑定多个域名或网站呢? 最简单高效的方法如下: 1. 先打开Apache的配置文件httpd.conf,在这个文件, 找到这句:"#Include etc/ ...
- Apache 2.2 虚拟主机配置(本人推荐的)
1.域名问题 假设我们有两个域名:www.aaa.com和www.bbb.com 为了方便测试,我们可以通过系统下的hosts文件,设定解析这两个域名时对应的ip,在xp系统盘的 windows\sy ...
- nginx下虚拟目录配置301域名重定向
方法一. 例: 省略www.chtml.cn虚拟主机server配置 server { listen 80; server_name chtml.cn www.chtml.cn; return 301 ...
最新文章
- Pycharm的运行和简单调试
- 最小树形图复杂度分析
- CPU为什么是方形而不是圆形的?
- acwing2041. 干草堆(差分数组)
- Docker容器学习梳理-容器时间跟宿主机时间同步
- ADF开发遇到错误:JBO-26030 无法锁定记录,其他用户持有该锁
- 向前、向后、横着走,双足机器人Cassie,靠深度强化学习学会了走路丨论文
- uni 加入图标_uniapp中引入 iconfont
- w3cschool php下载_w3cschool下载_W3Cschool v2.0离线版
- springboot使用yml格式报错
- 苹果录屏没声音_苹果手机外放没声音,自己动手就能解决
- 【CUDA】解决NVIDIA安装程序失败问题
- 使用 Amazon WAF 进行 Captcha 人机验证
- 注解的写法格式与作用
- 学习大数据要掌握哪些语言?哪些必备知识和技能呢?
- 《周志明的软件架构课》学习笔记 Day11
- 根据银行卡获取发卡行信息
- nginx 访问图片404_Nginx学习笔记(二、Nginx配置文件详解) - 被猪附身的人
- 串的一些基础操作(c语言)~DS笔记⑤
- 有人问我为什么不买iphon12,我为什么要买iphone12 pro max