.htaccess和license文件编写

参考链接1


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.

中文翻译如下:

被授权人权利

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

被授权人义务

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

其他重要特性

此许可协议并非属copyleft的自由软件许可协议条款,允许在自由及开放源代码软件或非自由软件(proprietary software)所使用。

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

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

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/sysuzjz/p/4289306.html