htaccess 写法
  Apache中的.htaccess(或者”分布式配置”了针对目录改变配置的方法,即,在特定的文档目录中放置包含或多个指令的,以作用于此目录及其子目录。作为,所能的命令受到限制。***Apache的AllowOverride指令来设置。

  子目录中的指令会笼盖更高级目录或者主器配置中的指令。

  .htaccess必需以ASCII模式上传,最好将其权限设置为644。

  错误文档的定位

  常用的客户端哀求错误返回代码:
  401 Authorization Required
  403 Forbidden
  404 Not Found
  405 Method Not Allowed
  408 Request Timed Out
  411 Content Length Required
  412 Precondition Failed
  413 Request Entity Too Long
  414 Request URI Too Long
  415 Unsupported Media Type

  常见的器错误返回代码:
  500 Internal Server Error

  利用.htaccess指定事先制作好的错误提醒页面。一般下,人们专门设立目录,例如errors放置页面。然后再.htaccess中,加入如下的指令:

  ErrorDocument 404 /errors/notfound.html
  ErrorDocument 500 /errors/internalerror.html

  一条指令一行。上述第一条指令的意思是对于404,也找到所的文档的得显示页面为/errors目录下的notfound.html页面。不难看出语法格局为:

  ErrorDocument 错误代码 /目录名/名.扩展名

  所提示的很少的话,不必专门制作页面,直接在指令中HTML号了,例如下面例子:

  ErrorDocument 401 “你权限访问该页面,请抛却!”

  文档访问的密码保护

  要利用.htaccess对某个目录下的文档设定访问和对应的密码,首先要做的是生成.htpasswd的文本文档,例如:

  zheng:y4E7Ep8e7EYV

  这里密码经由加密,找些工具将密码加密成.htaccess的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。

  有了授权文档,在.htaccess中加入如下指令了:

  AuthUserFile .htpasswd的器目录
  AuthGroupFile /dev/null (授权访问的目录)
  AuthName EnterPassword
  AuthType Basic (授权类型)

  是的主人,应该处处为着想。 —— 雷锋
  require user wsabstract (允许访问的,但愿表中都允许, require valid-user)

  注,括号部门为学习添加的注释

  拒绝来自某个IP的访问

  我不想某个政府部门访问到站点的,那.htaccess中加入该部门的IP而将它们拒绝在外。

  例如:

  order allow,deny
  deny from 210.10.56.32
  deny from 219.5.45.
  allow from all

  第二行拒绝某个IP,第三行拒绝某个IP段,也219.5.45.0~219.2.45.255

  想要拒绝人?用deny from all好了。不止用IP,也用域名来设定。

  保护.htaccess文档

  在.htaccess来设置目录的密码保护时,它包含了密码的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的。虽然用其他做到这点,好比文档的权限。不外,.htaccess本身也能做到,只需加入如下的指令:

  order allow,deny
  deny from all

  URL转向

  可能对重新规划,将文档了迁移,或者更改了目录。这,来自搜索引擎或者其他链接过来的访问就可能犯错。这种下,如下指令来完成旧的URL自动转向到新的:

  Redirect /旧目录/旧文档名 新文档的

  或者整个目录的转向:

  Redirect 旧目录 新目录

  改变缺省的首页

  一般下缺省的首页名有default、index等。不外,有些目录中没出缺省,而是某个特定的名,好比在pmwiki中是 pmwiki.php。这种下,要记住名来访问很麻烦。在.htaccess中等闲的设置新的缺省名:

  DirectoryIndex 新的缺省名

  也列出多个,顺序表明它们之间的优先级别,例如:

  DirectoryIndex filename.html index.cgi index.pl default.htm

  防止盗链

  不喜欢别人在的网页上连接的、文档的话,也htaccess的指令来做到。

  所的指令如下:

  RewriteEngine on
  RewriteCond %{ HTTP_REFERER } !^$
  RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
  RewriteRule .(gif&line;jpg)$ - [F]

  觉得让别人的页面开个天窗不好看,那用一张来代替:

  RewriteEngine on
  RewriteCond %{ HTTP_REFERER } !^$
  RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
  RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代名 [R,L]

其它补充:
在给出如何配置Apache支持.htaccess文件之前,首先申明一下:使用.htaccess文件,会降低httpd服务器的一点性能。

配置方法
找到Apache的httpd.conf配置文件,编辑器打开。

//找到
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

//修改为

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

//就可以了

/*
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。
例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
*/
AccessFileName .config  通常,.htaccess文件使用的配置语法和主配置文件一样。AllowOverride指令按类别决定了.htaccess文件中哪些指令才是有效的。

(不)使用.htaccess文件的场合
  一般情况下,不应该使用.htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件中是完全可行的,而且是一种很好的方法。
   .htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则 可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。
  虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的段中,而且更高效。
避免使用.htaccess文件有两个主要原因。
   首先是性能。如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,因此,无论是 否真正用到,启用.htaccess都会导致性能的下降。另外,对每一个请求,都需要读取一次.htaccess文件。
  还有,Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用,所以,如果请求/ctusky/ctu/sky中的页面,Apache必须查找以下文件:

/.htaccess
/ctusky/.htaccess
/ctusky/ctu/.htaccess
/ctusky/ctu/sky/.htaccess  一共就要访问4个额外的文件,就算这些文件都不存在,这也是本文开始说会影响服务器的一点性能的原因。
  其次是安全。这样会允许用户自己修改服务器的配置,这可能会导致某些意想不到的修改,所以请认真考虑是否应当给予用户这样的特权。

转载于:https://www.cnblogs.com/mypath/p/5232393.html

htaccess分布式配置文件常用写法相关推荐

  1. docker命令大全以及常用写法举例

    内容来自公众号赫连小伍,转载请注明出处 login:登录到远程仓库 search:从远程仓库搜索镜像 push:把本地镜像推送到远程仓库 pull:从远程仓库拉取或更新镜像 images:显示所有镜像 ...

  2. Spring切点表达式常用写法

    任意公共方法的执行: execution(public * *(..)) 任何一个名字以 set 开始的方法的执行: execution(* set*(..)) AccountService 接口定义 ...

  3. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  4. C++读取配置文件的写法

    记录一下读配置文件的写法. 读取配置文件可以利用string类提供的字符查找和分割来实现. 配置文件中的内容形式为: filepath=/home/test/data/ string ConfigFi ...

  5. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server - QxQstar - 博客园

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  6. Spring切入点表达式常用写法

    Spring切入点表达式常用写法 自从使用AspectJ风格切面配置,使得Spring的切面配置大大简化,但是AspectJ是另外一个开源项目,其规则表达式的语法也稍稍有些怪异. 下面给出一些常见示例 ...

  7. 【转载】配置文件 .yml 写法小结

    配置文件 .yml 写法小结 原文链接:https://www.jianshu.com/p/a8252bf2a63d yaml 是什么? 在 github 一些开源项目里经常可以看到 .travis. ...

  8. 运维之道 | Git分布式版本控制常用命令解析

    Git分布式版本控制常用命令解析 一.创建版本库 版本库(repository)也叫仓库,可以看做一个目录,这个目录里的所以文件都由Git进行管理,每个文件的修改.删除,Git都能跟踪 1.选择一个合 ...

  9. 【背赛笔记 常用写法 模版】Python蓝桥杯备赛笔记记录 【建议收藏!】

    目录 Py常用算法技巧 与c++ stl对应结构 排序 heapq 栈 先进后出队列LifoQueue 优先级队列,每次取最小的一个元素PriorityQueue 双端队列deque ,用在bfs提高 ...

最新文章

  1. 微信公众帐号开发教程第6篇-消息及消息处理工具的封装
  2. 公司SAP ERP 项目开始上线切换和最终用户培训了!
  3. 服务器内存型号与频率,一张图看懂如何选择DDR4内存的频率和容量
  4. 我今天对JavaFX的了解
  5. javascript的浏览器Bom详解,window、location、history对象
  6. linux 下使用genymotion
  7. 软件体系架构课下作业07
  8. 马化腾说它千年实现李彦宏说新瓶装旧酒,只有马云看好阿里笑了
  9. JTS(Geometry)工具类
  10. IntelliJ IDEA 中 右键新建时,选项没有Java class
  11. 俄罗斯方块源代码 java_俄罗斯方块 Java程序源代码 在eclipse上运行
  12. 数码大师2013破解补丁|数码大师2013白金版注册破解补丁下载(附数码大师2013白金版注册码)
  13. win10安装cmder和WSL
  14. python 基础代谢率计算_【Python 19】BMR计算器3.0(字符串分割与格式化输出)
  15. 应急管理大数据ppt_大数据应急管理.doc
  16. mysql命令执行cmd命令_mysql cmd常用命令
  17. 从魔兽世界论专业队友的重要性
  18. sd卡烧写linux内核,uboot从SD卡烧写内核和文件系统
  19. fastica和pca区别_浅谈ICA算法的概念、本质和流程
  20. gta5正版服务器在哪儿,gta5服务器在哪里 | 手游网游页游攻略大全

热门文章

  1. c语言结构体输入身高体重,c++:输入n名学生的身高体重,按身高排序输出并计算平均体重和身高...
  2. 005_JSONArray对象静态方法
  3. 015_获取并设置CSS类
  4. 检测移动端内存敏感数据方法(安卓)
  5. unity两个项目合并 同名_从实际项目升级中关于 Unity SRP 的一些评测
  6. tor screenrec屏幕录制+_ScreenFlow for mac(屏幕录制软件) v8.2.4中文版
  7. cassandra本地连接失败_本地网络发现失败的解决方法连接到OS X中的服务器的问题 | MOS86...
  8. Android应用开发:网络编程-2
  9. Android Fragment嵌套导致的bug
  10. 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志