当前位置:首页 »“秋了秋”个人博客 » 科普常识 » 盘点LINUX服务器.htaccess文件语法规则大全

盘点LINUX服务器.htaccess文件语法规则大全

作者:秋了秋 发表时间:2014年07月12日

.htacess文件大家都很熟悉,这是LINUX服务器专属规则容器,借助这个容器我们可以完成很多重要的工作,主要是网站的一些附属功能。

linux规则.htacess文件语法规则之访问控制,我们可以通过编写规则禁止或允许某个ip访问,实现黑名单和白名单功能,写法为:

<Files  ~ "^.*.([Ll][Oo][Gg])|([eE][xX][eE])"> Order allow,deny Deny from 125.15.56.9 allow from 223.45.65.2

</Files>

这个的意思是禁止ip为125.15.56.9的用户访问,允许ip为223.45.65.2的用户访问,依次可以往下列。照这个写法插进去就是了。

.htacess文件语法规则之url重写,比如说wordpress的伪静态重写规则:

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

注:RewriteEngine On表示开启url重写功能

301重定向规则:

RewriteEngine on RewriteCond %{HTTP_HOST} ^123.108.108.193$ [OR] RewriteCond %{HTTP_HOST} ^netblog.site$ RewriteRule ^(.*)$ //netblog.cn/$1 [R=301,L]

注:此语法表示把aaaa.ccaeo.com和netblog.site永久301转到网址//netblog.cn上,如有更多,可以往下列。

.htacess文件语法规则之自定义404错误页面,把不存在的页面用404页面代替,并告诉搜索引擎不要再抓取该页面了,语法为:

ErrorDocument 404 /404.html或者ErrorDocument 404 //netblog.cn/blog/404.html

注:此语法前者为不存在的页面就用网站根目录的404.html文件替换,此为相对地址,后者就是绝对地址,即可以引用站外文件比如//netblog.cn/blog/404.html

同样还有很多错误都可以用该语法处理,只要将前面的404数字替换掉就是。

401 – Authorization Required 需要验证 400 – Bad request 错误请求 403 – Forbidden 禁止 500 – Internal Server Error 内部服务器错误

.htacess文件语法规则之禁止陈列网站目录,很多时候因为目录首页文件丢失,访问者访问该目录就可以全部看到该目录的文件,并进行下载,对自己的网页文件很不安全,所以我们可以通过语法禁止陈列目录:

Options -Indexes

.htacess文件语法规则之首页文件的确定,通常网站的默认首页是index,但我们可以编写语法自定义首页文件,比如:

DirectoryIndex index.php3 messagebrd.pl index.html index.htm

此写法表示此网站目录的首页是index.php3,如果没有该文件,那就用messagebrd.pl代替,依次类推。

.htacess文件语法规则之防盗链功能,比如:

<Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> order deny,allow RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?baidu.com(/)?.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?mail.qq.com(/)?.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com(/)?.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?netblog.site(/)?.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?wuover.ccaeo.com(/)?.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://(www\.)?netblog.cn(/)?.*$ [NC] RewriteRule .*\.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3|js|php)$ //img.netblog.site/daolian.gif [NC,L]

此语法的意思是,把网站的gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3|js|php类型文件禁止站外调用,除了上面所列的白名单网址。若是其它网站调用,则用//img.netblog.site/daolian.gif代替源文件。

.htacess文件语法规则之压缩网页文件,提升网站速度。

AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript  

注:压缩text, html, javascript, css, xml等文档文件

.htacess文件语法规则之开启缓存:

<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”> Header set Cache-Control “max-age=2592000″ </FilesMatch>

注:缓存文档类型:flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf,其中2592000是缓存时间,单位为秒。

同样的禁止某些文档缓存:

<FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$”> Header unset Cache-Control </FilesMatch>

.htacess文件语法规则之防黑客,增强网站安全性:

RewriteEngine On  

# 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] 

.htacess文件语法规则之其它:

# 保护你的 htaccess 文件 <Files .htaccess> order allow,deny deny from all </Files>   # 阻止查看指定的文件 <Files secretfile.jpg> order allow,deny deny from all </Files>   # 多种文件类型 <FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”> Order Allow,Deny Deny from all </FilesMatch>  # 禁止某些目录里的脚本执行权限 AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI 

0
文章作者: “秋了秋”个人博客,本站鼓励原创。
转载请注明本文地址:http://netblog.cn/blog/48.html

请求播放音乐,请点击播放

登 录
点击获取验证码
还没账号?点击这里