仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 692|回复: 9
打印 上一主题 下一主题

[其他Linux] 来看看:apache .htaccess文件详解和设置技能总结

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 15:37:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho
1、.htaccess的基础感化
.htaccess是一个纯文本文件,它内里寄存着Apache服务器设置相干的指令。
.htaccess次要的感化有:URL重写、自界说毛病页面、MIME范例设置和会见权限把持等。次要表现在伪静态的使用、图片防盗链、自界说404毛病页面、制止/同意特定IP/IP段、目次扫瞄与主页、克制会见指定文件范例、文件暗码回护等。
.htaccess的用处局限次要针对以后目次。

2、启用.htaccess的设置
启用.htaccess,必要修正httpd.conf,启用AllowOverride,并能够用AllowOverride限定特天命令的利用。
翻开httpd.conf文件用文本编纂器翻开后,查找
.代码以下:

<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
改成:
<Directory/>
OptionsFollowSymLinks
AllowOverrideAll
</Directory>


假如必要利用.htaccess之外的其他文件名,能够用AccessFileName指令来改动。比方,必要利用.config,则能够在服务器设置文件中按以下办法设置:
.代码以下:
AccessFileName.config

3、.htaccess会见把持
1、会见把持基本:Order命令
为了限定用户会见一些关头目次,一般到场.htaccess文件,罕见的写法以下:
.代码以下:

<Files~"^.*.([Ll][Oo][Gg])|([eE][xX][eE])">
Orderallow,deny
Denyfromall
</Files>

申明:
(1)Files后的海浪线暗示启用“正则表达式”,复杂的写法有:<Files*>。
(2)Order命令:经由过程Allow,Deny参数,Apache起首找到并使用Allow命令,然后使用Deny命令,以制止一切会见,也能够利用Deny,Allow。
4、URL重写
上面是一段复杂的URL重写划定规矩示例:
.代码以下:

#将RewriteEngine形式翻开
RewriteEngineOn
#Rewrite体系划定规矩请勿修正
RewriteRule^p/([0-9]+).html$index.php?post_id=$1
RewriteRule^u-(username|uid)-(.+).html$space.php?$1=$2


个中,RewriteEngine暗示开启URL重写,RewriteRule是重写划定规矩。
5、设置毛病页面
基础语法以下:
.代码以下:

#customerrordocuments
ErrorDocument401/err/401.php
ErrorDocument403/err/403.php
ErrorDocument404/err/404.php
ErrorDocument500/err/500.php

6、htaccess经常使用命令和设置技能
1.克制显现目次列表
有些时分,因为某种缘故原由,你的目次里没有index文件,这意味着当有人在扫瞄器地点栏键进了该目次的路径,该目次下一切的文件城市显现出来,这会给你的网站留下平安隐患。
为制止这类情形(而不用创立一堆的新index文件),你能够在你的.htaccess文档中键进以下命令,用以制止
目次列表的显现:
.代码以下:
Options-Indexes

2.制止/同意特定的IP地点
某些情形下,你大概只想同意某些特定IP的用户能够会见你的网站(比方:只同意利用特定ISP的用户进进某个目次),大概想封禁某些特定的IP地点(比方:将初级用户断绝于你的信息版面外)。固然,这只在你晓得你想拦阻的IP地点时才有效,但是如今网上的年夜多半用户都利用静态IP地点,以是这并非限定利用的经常使用办法。
你可使用以下命令封禁一个IP地点:
.代码以下:
denyfrom000.000.000.000

这里的000.000.000.000是被封禁的IP地点,假如你只指了然个中的几个,则能够封禁全部网段的地点。如你输出210.10.56.,则将封禁210.10.56.0~210.10.56.255的一切IP地点。
你可使用以下命令同意一个IP地点会见网站:
.代码以下:
allowfrom000.000.000.000

被同意的IP地点则为000.000.000.000,你能够象封禁IP地点一样同意全部网段。
假如你想制止一切人会见该目次,则可使用:
.代码以下:
denyfromall

不外这其实不影响剧本程序利用这个目次下的文档。
3.交换index文件
大概你不想一向利用index.htm或index.html作为目次的索引文件。举例来讲,假如你的站点利用PHP文件,你大概会想利用index.php来作为该目次的索引文档。固然也不用范围于“index”文档,假如你乐意,利用.htaccess你乃至可以设置foofoo.balh来作为你的索引文档!
这些互为交换的索引文件能够排成一个列表,服务器会从左至右举行寻觅,反省哪一个文档在实在的目次中存在。假如一个也找不到,它将会把目次列表显现出来(除非你已封闭了显现目次文件列表)。
.代码以下:
DirectoryIndexindex.phpindex.php3messagebrd.plindex.htmlindex.htm

4.重定向(rewrite)
.htaccess最有效的功效之一就是将哀求重定向到同站内或站外的分歧文档。这在你改动了一个文件称号,但仍旧想让用户用旧地点会见到它时,变的极其有效。另外一个使用(我发明的很有效的)是重定向到一个长URL,比方在我的时势通信中,我可使用一个很冗长的URL来指向我的会员链接。以下是一个重定向文件的例子:
.代码以下:
Redirect/location/from/root/file.exthttp:///new/file/location.xyz

上述例子中,会见在root目次下的名为oldfile.html能够键进:
.代码以下:
/oldfile.html

会见一个旧次级目次中的文件能够键进:
.代码以下:
/old/oldfile.html

你也能够利用.htaccess重定向全部网站的目次。假设你的网站上有一个名为olddirectory的目次,而且你已在一个新网站http:///newdirectory/上创建了与上不异的文档,你能够将旧目次下一切的文件做一次重定向而不用逐一声明:
.代码以下:
Redirect/olddirectoryhttp: ///newdirectory

如许,任何指向到站点中/olddirectory目次的哀求都将被从头指向新的站点,包含附加的分外URL信息。比方有人键进:
.代码以下:
http:///olddirecotry/oldfiles/images/image.gif

哀求将被重定向到:
.代码以下:
http:///newdirectory/oldfiles/images/image.gif

假如准确利用,此功效将极为壮大。
7、平安设置
上面的htaccess代码可以进步你的web服务器的平安程度。图片链接盗用回护十分有效,它能避免其别人偷窃利用你的服务器上的图片资本。
1.经由过程.htaccess放盗链
仇恨那些偷窃链接你的web服务器上的图片资本而耗尽了你的带宽的举动吗?尝尝这个,你能够避免这类事变的产生。
.代码以下:
RewriteBase/
RewriteCond%{HTTP_REFERER}!^$
RewriteCond%{HTTP_REFERER}!^http://(www.)?aqee.net/.*$[NC]
RewriteRule.(gif|jpg|swf|flv|png)$/feed/[R=302,L]

2.防黑客
假如你想进步网站的平安品级,你能够往失落上面的几行代码,如许能够避免一些罕见歹意URL婚配的黑客打击手艺。
.代码以下:
RewriteEngineOn

#proc/self/environ?没门!
RewriteCond%{QUERY_STRING}proc/self/environ[OR]

#制止剧本妄图经由过程URL修正mosConfig值
RewriteCond%{QUERY_STRING}mosConfig_[a-zA-Z_]{1,21}(=|%3D)[OR]

#制止剧本经由过程URL传送的base64_encode渣滓信息
RewriteCond%{QUERY_STRING}base64_encode.*(.*)[OR]

#制止在URL含有<script>标志的剧本
RewriteCond%{QUERY_STRING}(<|%3C).*script.*(>|%3E)[NC,OR]

#制止妄图经由过程URL设置PHP的GLOBALS变量的剧本
RewriteCond%{QUERY_STRING}GLOBALS(=|[|%[0-9A-Z]{0,2})[OR]

#制止妄图经由过程URL设置PHP的_REQUEST变量的剧本
RewriteCond%{QUERY_STRING}_REQUEST(=|[|%[0-9A-Z]{0,2})

#把一切被制止的哀求转向到403克制提醒页面!
RewriteRule^(.*)$index.php[F,L]

3.制止会见你的.htaccess文件大概指定范例的文件
上面的代码能够制止他人会见你的.htaccess文件。一样,你也能够设定制止多种文件范例。
#回护你的htaccess文件
<Files.htaccess>
orderallow,deny
denyfromall
</Files>

#制止检察指定的文件
<Filessecretfile.jpg>
orderallow,deny
denyfromall
</Files>

#多种文件范例
<FilesMatch“.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
OrderAllow,Deny
Denyfromall
</FilesMatch>[/code]
4.克制剧本实行,增强你的目次平安
.代码以下:
#克制某些目次里的剧本实行权限
AddHandlercgi-script.php.pl.py.jsp.asp.htm.shtml.sh.cgi
Options-ExecCGI


8、一些经常使用的设置
1.时区设置
有些时分,当你在PHP里利用date或mktime函数时,因为时区的分歧,它会显现出一些很奇异的信息。上面是办理这个成绩的办法之一。就是设置你的服务器的时区。你能够在这里找到一切撑持的时区的清单。
1.SetEnvTZAustralia/Melbourne
2.搜索引擎优化/搜索引擎优化.html"target="_blank">搜刮引擎友爱的301永世转向办法
为何这是搜刮引擎友爱的呢?由于如今良多古代的搜刮引擎都有能依据反省301永世转一直更新它现有的纪录的功效。
.代码以下:
Redirect301http://www.aqee.net/homehttp://www.aqee.net/

3.屏障下载对话框
一般,当你下载器材的时分,你会看到一个对话框扣问你是坚持这个文件仍是间接翻开它。假如你不想看到这个器材,你能够把上面的一段代码放到你的.htaccess文件里。
.代码以下:
AddTypeapplication/octet-stream.pdf
AddTypeapplication/octet-stream.zip
AddTypeapplication/octet-stream.mov

4.省往www前缀
SEO的一个准绳是,确保你的网站只要一个URL。因而,你必要把一切的经由过程www的会见转向的非www,大概反这来。
.代码以下:
RewriteEngineOn
RewriteBase/
RewriteCond%{HTTP_HOST}^www.aqee.net[NC]
RewriteRule^(.*)$http://aqee.net/$1[L,R=301]


5.本性化Error页面
对每一个毛病代码定制本人本性化的毛病页面。
.代码以下:
ErrorDocument401/error/401.php
ErrorDocument403/error/403.php
ErrorDocument404/error/404.php
ErrorDocument500/error/500.php

6.紧缩文件
经由过程紧缩你的文件体积来优化网站的会见速率。
.代码以下:
#紧缩text,html,javascript,CSS,xml:
AddOutputFilterByTypeDEFLATEtext/plain
AddOutputFilterByTypeDEFLATEtext/html
AddOutputFilterByTypeDEFLATEtext/xml
AddOutputFilterByTypeDEFLATEtext/css
AddOutputFilterByTypeDEFLATEapplication/xml
AddOutputFilterByTypeDEFLATEapplication/xhtml+xml
AddOutputFilterByTypeDEFLATEapplication/rss+xml
AddOutputFilterByTypeDEFLATEapplication/javascript
.AddOutputFilterByTypeDEFLATEapplication/x-javascript

7.缓存文件
缓存文件是别的一个进步你的网站会见速率的好办法。
.代码以下:
<FilesMatch“.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
HeadersetCache-Control“max-age=2592000″
</FilesMatch>

8.对某些文件范例克制利用缓存
而另外一方面,你也能够定制对某些文件范例克制利用缓存。
.代码以下:
#显式的划定对剧本和别的静态文件克制利用缓存
<FilesMatch“.(pl|php|cgi|spl|scgi|fcgi)$”>
HeaderunsetCache-Control
</FilesMatch>




文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
透明 该用户已被删除
沙发
发表于 2015-1-18 16:03:13 来自手机 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-23 05:34:14 | 只看该作者
其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
莫相离 该用户已被删除
地板
发表于 2015-1-31 15:10:35 | 只看该作者
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 20:35:23 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
6#
发表于 2015-2-18 15:55:14 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-6 08:44:05 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
海妖 该用户已被删除
8#
发表于 2015-3-13 00:07:17 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-13 00:07:16 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-20 06:50:44 | 只看该作者
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 19:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表