SEO网站优化工具.htaccess文件
  • 更新时间:2024-09-27 21:29:29
  • 网站建设
  • 发布时间:1年前
  • 483

既然是技术人员,实际的代码是必不可少的。鉴于目前的网站大多采用PHP+MYSQL作为主流的建站程序,所以我们要特别注意网站的配置文件。本文为笔者收集整理了几乎所有的.htaccess文件配置和使用方法及其作用,合集来源于网络。

【301永久重定向】

使用301永久重定向来避免www和根域名的重量是一个很好的习惯和方法,但是从http头设置它有一些缺点。一是增加网页的http响应数,延长页面的响应时间。另一个是比较Easy to set as 302 temporary redirects。所以作者推荐使用.htaccess文件对网站进行301永久重定向。

为什么这个搜索引擎友好?因为现在许多现代搜索引擎都具有通过检查301 永久重定向来更新其现有记录的能力。

代码如下(以作者博客www.AAA.com为例):

重写引擎开启

RewriteCond %{http_host} ^AAA.com [NC]

重写规则^(.*)$ http://www.AAA.com/$1 [L,R=301]

这是为了让它在访问AAA.com/时自动重定向到www.AAA.com。同样,我们也可以反向设置,即访问www.AAA.com时自动重定向到AAA.com:

重写引擎开启

RewriteCond %{http_host} ^ www.AAA.com [NC]

重写规则^(.*)$ http://AAA.com/$1 [L,R=301]

[自定义错误页面]

有些主机只能在后台设置404错误页面,使用.htaccess文件为每个错误代码自定义自己的错误页面。

代码如下:

错误文档401 /error/401.php

错误文档403 /error/403.php

错误文档404 /error/404.php

错误文档500 /error/500.php

【压缩文件】

通过压缩网站上的静态资源和其他文件的体积来优化网站访问速度。它可以压缩文本、html、javascript、css、xml 和其他文件。

代码如下

AddOutputFilterByType DEFLATE 文本/纯文本

AddOutputFilterByType DEFLATE 文本/html

AddOutputFilterByType DEFLATE 文本/xml

AddOutputFilterByType DEFLATE 文本/CSS

AddOutputFilterByType DEFLATE 应用程序/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE 应用程序/rss+xml

AddOutputFilterByType DEFLATE 应用程序/javacript

AddOutputFilterByType DEFLATE 应用程序/x-javascript

【静态资源浏览器缓存设置】

对于那些不经常变化的文件,设置静态文件缓存非常重要,可以大大提高页面访问率,也是雅虎YSLow评价标准的重要项目之一。

代码如下:

ExpiresActive on //打开缓存

ExpiresByType text/css 'access 1 month'//css文件缓存1个月

ExpiresByType text/plain 'access 2 days'//纯文本内容缓存2天

ExpiresByType text/html 'access 2 days'//html文件缓存2天

ExpiresByType application/javascript 'access 1 month' //JS文件缓存1个月

ExpiresByType image/jpeg 'access 1 month'//jpeg图片缓存1个月

ExpiresByType im

age/x-icon "access 1 month"//icon缓存1个月

ExpiresByType image/gif "access 1 month"//gif图片缓存一个月

ExpiresByType image/png "access 1 month"//png图片缓存一个月

ExpiresByType image/ico "access 1 month"//ico缓存1个月

ExpiresByType application/pdf "access 1 month"//pdf文件缓存一个月

ExpiresByType application/x-shockwave-flash "access 1 month"//flash缓存一个月

ExpiresDefault "access 1 month"// 默认(未提及的可缓存文件)缓存1个月

【对某些文件类型禁止使用缓存】

网站有很多动态文件是不可以让浏览器缓存的,这样,我们就需要限定禁止缓存的文件。

代码如下:

Header unset Cache-Control

【允许访问与阻止IP访问】

你可以使用以下命令封禁一个IP地址,对于医疗行业来说,恶意点击的竞价推广及商务通的代码就可以使用这个来阻止竞争对手了。

代码如下:

deny from 000.000.000.000

这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的地址。如你输入210.10.56.*,则将封禁210.10.56.0~210.10.56.255的所有IP地址。

你也可以使用以下命令允许一个IP地址访问网站。

代码如下:

allow from 000.000.000.000

被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。

如果你想阻止所有人访问该目录,则可以这样。

代码如下:

deny from all

需要注意的是,不过这并不影响脚本程序使用这个目录下的文档,只是禁止用户访问(或许会有人想到用它来只允许蜘蛛访问吧)。

【图片防盗链】

下面的htaccess代码能够提高你的web服务器的安全水平。图片链接盗用保护非常有用,它能防止其他人偷盗使用你的服务器上的图片资源。

代码如下:

RewriteBase /

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www.)?aqee.net/.*$ [NC]

RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

【防黑客进攻漏洞】

如果你想提高网站的安全等级,你可以去掉下面的几行代码,这样可以防止一些常见恶意URL匹配的黑客攻击技术。对于医疗网站来说,竞争对手攻击商务通 的弹窗代码导致一段时间内爆发出成千上万的对话是非常难以防范和应对的,所以我们可以使用.htaccess来保护我们的商务通。

代码如下:

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]

【阻止所有人访问你的网站文件】

下面的代码可以阻止别人访问你的.htaccess文件。同样,你也可以设定阻止多种文件类型。

【保护你的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>

【重命名.htaccess 文件】

既然.htaccess如此重要,我们需要对它进行保护,修改它的文件名是保护它的方法之一。

代码如下:

AccessFileName htacc.ess

【通过引用信息来阻止某些不欢迎的浏览者】

代码如下:

《IfModule mod_rewrite.c》

RewriteEngine on

RewriteCond %{HTTP_REFERER} AAA.com [NC,OR]

RewriteCond %{HTTP_REFERER} seowto.com [NC,OR]

RewriteRule .* - [F]

8.</ifModule>

【通过判断浏览器头信息来阻止某些请求】

这个方法可以通过阻止某些机器人或蜘蛛爬虫抓取你的网站来节省你的带宽流量。特别是防采集的效果很好。

代码如下:

<IfModule mod_rewrite.c>

SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider

|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT

SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT

Deny from env=HTTP_SAFE_BADBOT

</ifModule>

【禁止脚本执行,加强你的目录安全】

AddHandler cgi-script.php .pl .py .jsp .asp .htm .shtml .sh .cgi

Options -ExecCGI

【禁止目录浏览】

禁止服务器对外显示目录结构,反之亦然。

【禁止目录浏览】

代码如下:

Options All -Indexes

# 开放目录浏览

代码如下:

Options All +Indexes

【改变缺省的Index页面】

代码如下:

你可以把缺省的index.html,index.php 或index.htm 改成其它页面。

DirectoryIndex business.html

本文发布于北京网站建设公司推来客http://www.tlkjt.com/

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/web/13343.html
推荐文章

在线客服

扫码联系客服

3985758

回到顶部