博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.htaccess和license文件编写
阅读量:5208 次
发布时间:2019-06-14

本文共 5668 字,大约阅读时间需要 18 分钟。

1 .htaccess

1.1 文件的位置

默认情况下放置于根目录

1.2 .htaccess文件的编写

1.2.1 错误页面跳转

ErrorDocument + 错误码 + 跳转路径/提示文字

eg:ErrorDocument 404 /errors/notfound.html 

如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML亦可: 

ErrorDocument 404  "找不到该页面"

注意:末尾不用分号等等分隔符

附常见错误码:

 

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 

1.2.2 文档访问的密码保护

 

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

eg: zheng:y4E7Ep8e7EYV 

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

有了授权用户文档,可以在.htaccess中加入如下指令了: 
AuthUserFile .htpasswd的服务器目录 
AuthGroupFile /dev/null (需要授权访问的目录) 
AuthName EnterPassword 
AuthType Basic (授权类型) 
require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user) 

1.2.3 拒绝来自某个IP的访问

如果不想某个IP访问到站点的内容,可以通过.htaccess中加入该IP而将它们拒绝在外。
例如: 
order allow,deny 
deny from 192.168.2.1 (拒绝该IP)
deny from 192.168.2.   (拒绝该IP段,也即是192.168.2.0~192.168.2.255
deny from all       (拒绝所有人)
用IP,用域名都行

1.2.4 重定向

我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址: 
Redirect /旧目录/旧文档名 新文档的地址 
或者整个目录的转向: 
Redirect 旧目录 新目录 

1.2.5 改变缺省的首页文件 

一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在pmwiki中是 pmwiki.php。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名: 
DirectoryIndex 新的缺省文件名 
也可以列出多个,顺序表明它们之间的优先级别,例如: 
DirectoryIndex filename.html index.cgi index.pl default.htm  

1.2.6 防止盗链 

如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过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]
 

2. LICENSE

2.1 MIT(开源软件许可协议)

普遍的MIT协议声明原文如下:

Copyright (C) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

中文翻译如下:

被授权人权利

被授权人有权利使用、复制、修改、合并、出版发布、散布、再授权和/或贩售软件及软件的副本,及授予被供应人同等权利,惟服从以下义务。

被授权人义务

在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。

其他重要特性

此许可协议并非属的自由软件许可协议条款,允许在或非自由软件(proprietary software)所使用。

MIT的内容可依照程序著作权者的需求更改内容。此亦为MIT与(The BSD license, 3-clause BSD license)本质上不同处。

MIT许可协议可与其他许可协议并存。另外,MIT条款也是自由软件基金会(FSF)所认可的自由软件许可协议条款,与兼容。

2.2 BSD(Berkeley Software Distribution license)
* Copyright (c) 1998, Regents of the University of California* All rights reserved.* Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions are met:**     * Redistributions of source code must retain the above copyright*       notice, this list of conditions and the following disclaimer.*     * Redistributions in binary form must reproduce the above copyright*       notice, this list of conditions and the following disclaimer in the*       documentation and/or other materials provided with the distribution.*     * Neither the name of the University of California, Berkeley nor the*       names of its contributors may be used to endorse or promote products*       derived from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
中文解释如下:
* Copyright (c) 1998 著作权由加州大学董事会所有。著作权人保留一切权利。* * 这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本* 软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然:* * * 对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以*   及下述的免责声明。* * 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附*   于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述*   的免责声明。* * 未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,*   来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。* * 免责声明:本软件是由加州大学董事会及本软件之贡献者以现状("as is")提供,* 本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目* 的的适用性为默示性担保。加州大学董事会及本软件之贡献者,无论任何条件、* 无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违* 约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的* 任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限* 于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等),* 不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。

转载于:https://www.cnblogs.com/smght/p/4368454.html

你可能感兴趣的文章
Maximum Product Subarray
查看>>
shell 默认变量
查看>>
solr相关配置翻译
查看>>
通过beego快速创建一个Restful风格API项目及API文档自动化(转)
查看>>
解决DataSnap支持的Tcp长连接数受限的两种方法
查看>>
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
查看>>
ASP.NET MVC5 高级编程-学习日记-第二章 控制器
查看>>
如何选择适合自己的云管理平台(一)
查看>>
Hibernate中inverse="true"的理解
查看>>
不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
查看>>
Java的String中的subString()方法
查看>>
selenium +chrome headless Adhoc模式渲染网页
查看>>
高级滤波
查看>>
使用arcpy添加grb2数据到镶嵌数据集中
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>
缓和曲线06七次四项式
查看>>
15.210控制台故障分析(解决问题的思路)
查看>>
BS调用本地应用程序的步骤
查看>>