谈谈我的编程之路---WAMP(三)

时间:2022-09-21 18:08:00

WAMP的一些配置与使用心得(APACHE)
说实话,我感觉apache的配置真的还是蛮复杂的,感觉好像又在学一种语言,让我用比较庞大的概念来讲述这些东西,我也没办法做到
就以实际应用出发出发,简单的说一说我的使用过程吧
场景一:你查看服务器访问记录的时候,发现有某一个IP段访问量特别的不正常,疑似黑客入侵,这个时候你需要怎么办?
找到你的http.conf配置文件,找到类似于这样的片段
<Directory  "你的网站根目录">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order  deny,allow
    Deny from XXX.XXX.XXX.XXX      
</Directory>
最下面的Deny from 就是你需要屏蔽的IP地址了
场景二:你的服务器下面,有多个网站的目录,而你访问的时候却并不想用 域名/目录 这样的方式,你希望用 二级域名/域名 这样的方式来访问你的多个网站
这个时候你需要允许用到虚拟主机
如何配置apache虚拟主机
首先在http.conf文件中找到# Virtual hosts
把Include conf/extra/httpd-vhosts.conf的注释去掉,当然httpd-vhosts这个文件名是可以修改的,你要是觉得这个名字不好,大可以改成hao-vhosts.conf,只要与vhost目录下的文件名对应就行了
然后需要vhost目录下的httpd-vhosts.conf这个文件中加入这样的设置
<VirtualHost  *:80>
    DocumentRoot D:/wamp/www
    ServerName xxx.xxx.com
    DirectoryIndex index.php
</VirtualHost>
DocumentRoot 代表你的网站的绝对路径
ServerName 表示访问该服务器的域名
DirectoryIndex  路径初始文件,利用这个可以默认访问该目录下的index.php
虚拟机可以配置多个,可以解析不同的域名来对应你不同的网站目录
场景三:域名重定向,假设你原来的网站搬家了,原来的地址是www.a.com,但是之后变成了www.a.com/real这个子目录下,如果用户继续请求原有网址没有数据,肯定会拜拜损失用户的,所以有域名重定向功能,当用户访问www.a.com的时候,默认把地址重定向到www.a.com/real这个路径下面,就能很好的解决问题了
如何设置域名重定向呢,首先要在http.conf中做一个设置开启域名重定向,其次你还得懂正则表达式
找到LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#,
然后在你的网站根目录创建一个.htaccess的文件,这个文件在windows可以用@echo off clear > .htaccess 来创建,linux下直接vim .htaccess就可以了,然后首先要写上
RewriteEngine On  表示重写引擎开启
然后是RewriteCond 定义一条规则条件
然后是RewriteRule 重写规则 例如
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.a.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.b.com [NC]
RewriteRule ^(.*)$ localhost/a/index.php$1 [R=301,L]
R 强制外部重定向,后面可以代301或302跳转。
L 表明当前规则是最后一条规则,停止分析以后规则的重写。(如果满足条件的话)
OR 或的意思,上例中既是www.test.net.cn或test.net.cn开头的域名。
NC 不区分大小写。
$N 引用RewriteRule模板中匹配的相关字串  就是可以保留原域名中的/后面的参数
这种flag有很多,更多详细配置可以阅读官方文档
http://httpd.apache.org/docs/2.2/rewrite/flags.html
感觉写的不是很好吧,毕竟实力有限,我对apache的配置了解的不够深刻,所以没能更加清楚的描述出来,总之这篇文章待续吧

谈谈我的编程之路---WAMP(三)的更多相关文章

  1. 谈谈我的编程之路---WAMP&lpar;四&rpar;

    WAMP的一些配置与使用心得(windows)W-windows,说到windows,其实大家都最熟悉不过了,GUI(graphic user interface)图形界面就没有什么可说的了,基本会用 ...

  2. 谈谈我的编程之路---WAMP&lpar;二&rpar;

    WAMP的一些配置与使用心得(MYSQL) 刚开始接触数据库的时候,我一直认为数据库操作工具和数据库是同一种东西,它们是一体的,后来我才明白,数据库它是一个独立的仓库,用官方点的话来解释 数据库(Da ...

  3. 谈谈我的编程之路---WAMP&lpar;一&rpar;

    WAMP的一些配置与使用心得(PHP) 记得第一次接触PHP的时候,我都不知道PHP为什么要大写,但是我却用它来进行工作了,有时候生活就是一场美丽的邂逅 青涩的我,在ES哥的引领下,第一次接触到了WA ...

  4. Vue 编程之路(三)—— Vue 中子组件在父组件的 v-for 循环里,父组件如何调取子组件的事件

    (标题的解决方案在第二部分) 最近公司的一个项目中使用 Vue 2.0 + element UI 实现一个后台管理系统的前端部分,属于商城类型. 一.前期思路: 其中在“所有订单”页面,UI 给的设计 ...

  5. 初次踏上GUI编程之路(有点意思,详细介绍了菜鸟的学习之路)

    初次踏上GUI编程之路 —— 我的Qt学习方法及对Qt认识的不断转变 -> 开始接触GUI与开始接触Qt: 话说,我第一次看见“Qt”这一个名词,好像是在CSDN网站的主页上吧,因为CSDN好像 ...

  6. &lbrack;转&rsqb;Spark学习之路 (三)Spark之RDD

    Spark学习之路 (三)Spark之RDD   https://www.cnblogs.com/qingyunzong/p/8899715.html 目录 一.RDD的概述 1.1 什么是RDD? ...

  7. 杂谈---LZ的编程之路以及十点建议

    LZ本人是09年毕业的,在某二流本科院校学的非计算机专业,在兴趣的驱使之下,最终毅然决然的走上了编程这一条“不归路”. 说起LZ的经历虽不算是跌宕起伏,但也真正算是人生无常. 当初09年7月回到家里, ...

  8. redis成长之路——(三)

    redis连接封装 StackExchange.Redis中有一些常功能是不在database对中,例如发布订阅.获取全部key(本代码中已封装到operation中了)等,而且StackExchan ...

  9. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

随机推荐

  1. 【每日一linux命令2】命令执行顺序:

    二.命令顺序:     若在 shell 内置的命令/bin 以及/usr/bin 之下都出现了命令 pwd,那当我们执行该命令时,会执行哪 一个?答案是第一优先执行 shell 内置的命令,再执行路 ...

  2. SqlServer数据库大型应用解决方案总结

    随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问题. 一 ...

  3. laravel cookie写入

            $cookie = cookie('cookie_name', 'value', 5);        $data = ['title'=>'hello world'];     ...

  4. Windows Store App 全球化:引用分离资源文件中的资源

    大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...

  5. Memcached 笔记与总结(5)Memcached 的普通哈希分布和一致性哈希分布

    普通 Hash 分布算法的 PHP 实现 首先假设有 2 台服务器:127.0.0.1:11211 和 192.168.186.129:11211 当存储的 key 经过对 2 (2 台服务器)取模运 ...

  6. C&num;错误:The Controls collection cannot be modified

    用 <%# %>这种写法是写在数据绑定控件中的,之所以用 <%= %>会出现The Controls collection cannot be modified because ...

  7. Geodatabase - 打开数据库&lpar;工作空间&rpar;

    //使用IName方式打开数据库(工作空间). public void GetWorkspace_IName(string workspacePath) { ESRI.ArcGIS.Geodataba ...

  8. SourceTree管理工具的一些使用总结

    一.冲突解决 在团队合作中,如果两个人同时修改一个文件 ,这个时候如果合并他人提交的代码是会产生冲突的,怎么解决? 1.先将代码提交至本地服务器 2.合并他人代码,这个时候在工作副本中会显示我们冲突的 ...

  9. session前后台交互

    下面是需求需要,不同的人群进来显示不同,但是还必须是这个走到哪都的存在,不能说点击别的页面,下面红框处的数据就没有了,必须是存在的并且登陆的类型不一样,显示的也不一样,开始的时候想到的是直接调用方法, ...

  10. 使用contenteditable&equals;true的div模拟textarea(vue2&period;0中使用,带placeholder且高度自动撑开)

    子组件: <template> <div class="item-address"> <span v-show="!hasAddress&q ...