热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分享14个有用的.htaccess代码段和技巧

htaccess的是一个文件,每一个网络管理员应该知道和了解。,它控制着访问到您的网站目录。但仍然有很多,你应该知道的的,在这篇文章中的片段会告诉你。如何来做才能更好的让网站性能发挥到最佳1。控制对文件和目录的访问密码保护是一回事,但有时你可

htaccess的 是一个文件,每一个网络管理员应该知道和了解。 ,它控制着访问到您的网站目录。 但仍然有很多,你应该知道的的,在这篇文章中的片段会告诉你。如何来做才能更好的让网站性能发挥到最佳 1。 控制对文件和目录的访问 密码保护是一回事,但有时你可

htaccess的是一个文件,每一个网络管理员应该知道和了解。,它控制着访问到您的网站目录。但仍然有很多,你应该知道的的,在这篇文章中的片段会告诉你。如何来做才能更好的让网站性能发挥到最佳

1。控制对文件和目录的访问

密码保护是一回事,但有时你可能需要完全阻止用户访问一个特定的文件或目录的选项。这通常发生在系统文件夹,如包括文件夹,应用程序需要访问,但没有用户会以往任何时候都需要的特权。

要做到这一点,粘贴此代码到的。htaccess文件,并把它的目录中:

deny from all

然而,这将阻止访问到每个人,包括你自己。授予自己访问,你需要指定您的IP地址。下面是代码:

order deny,allow

deny from all

allow from xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx是你的IP。如果您要更换的最后三位数字,例如0/12,这将指定范围的IP地址在同一网络内,从而节省您的麻烦,分别列出所有允许的IP地址。

如果你想阻止用户访问一个特定的文件,包括.htaccess文件本身,请使用下面的代码片段:

<Files .htaccess>

order allow,deny

deny from all

Files>

同样,如果您要允许给定的IP地址,允许从列出

如果你想阻止访问特定的文件类型,用它来代替:

<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">

Order Allow,Deny

Deny from all

FilesMatch>

2。禁用目录浏览

防止目录浏览,

Options All -Indexes

但是,如果由于某种原因,你要启用目录浏览,更改为以下内容:

Options All +Indexes

3。高速化的加载时间,压缩文件

你可以压缩任何类型的文件,不仅图像。例如,要压缩HTML文件,使用这样:

AddOutputFilterByType DEFLATE text/html

要压缩文本文件,使用这样的:

AddOutputFilterByType DEFLATE text/plain

您也可以压缩的Javascript,或压缩多个文件类型使用一个命令:

AddOutputFilterByType DEFLATE application/Javascript

AddOutputFilterByType DEFLATE application/rss+xml

另外,如果你想你的Javascript,HTML和CSS文件GZIP压缩,可以使用:

<IfModule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text\.*

mod_gzip_item_include mime ^application/x-Javascript.*

mod_gzip_item_exclude mime ^image\.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

IfModule>

4。防止盗链保护您的网站

如果你不希望你的图片盗链,使用下面的代码

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

上面替换yourdomain.com为你自己网站。

5。阻断来自特定域的访问者

如果你有你不欢迎来自特定域的用户,你可以禁止他们。例如,如果您的网站被列在一个地方,你不想要的流量(即成人网站,黑帽网站等),你可以为一个403 Forbidden。您需要启用mod_rewrite的,

<IfModule mod_rewrite.c>

RewriteEngine on

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

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

RewriteRule .* - [F]

ifModule>

您需要更换bannedurl1.combannedurl2.com你想加入黑名单的域名。您可能要使用[NC]标志,因为它指定了您输入的域名不区分大小写。[F]标志指定要采取的行动-在这种情况下,显示403 Forbidden错误。如果你想禁止多个站点,请使用[NC,OR]标志为每一个域名,但最后,如果你想禁止单个域中使用[NC]标志。

6。从特定的用户代理阻断请求

如果你的日志文件显示特定的用户代理(机器人或蜘蛛),你可以添加几行字在.htaccess文件,并拒绝他们的访问到您的网站:

RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase Referer "^$" bad_user
SetEnvIfNoCase User-Agent "^badbot1" bad_user
SetEnvIfNoCase User-Agent "^badbot2" bad_user
SetEnvIfNoCase User-Agent "^badbot3" bad_user
Deny from env=bad_user

更换badbot1badbot1,从日志文件中的机器人的名字。

7。缓存文件

另一种方式是通过文件缓存到您的网站的加载时间加快。下面是你需要添加以缓存文件:

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">

Header set Cache-Control "max-age=2592000"

FilesMatch>

您可以添加更多的文件类型(或删除其中的一些),您还可以使用的max-age指定的时间量,

8。禁用缓存为特定的文件类型

如果你不想缓存特定的文件类型,很容易不包括缓存中的序列。但是,有时文件可能会缓存,即使你没有明确列出他们,在这种情况下,您可能需要禁用缓存,只保留适合自己的,大多数情况下,你需要禁用缓存的动态文件,如脚本。

<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">

Header unset Cache-Control

FilesMatch>

9。绕过下载对话框

默认情况下,当您尝试从Web服务器下载文件时,你会得到一个对话,询问您是否要保存文件或打开。这种对话是尤其是在大的媒体文件或PDF文件。如果你已经上传到服务器的文件进行下载,您可以节省用户的时间和进行直接下载。以下是你所需要的。htaccess文件中设置

AddType application/octet-stream .pdf

AddType application/octet-stream .zip

AddType application/octet-stream .mp3

10。重命名的.htaccess文件

如果由于某种原因,主要是与安全相关的,你要重命名的。htaccess文件,这是很容易做到这一点。

AccessFileName htac.cess

您还需要更新.htaccess文件中的任何项目文件本身或被提及的地方,否则,你会得到很多的错误。

11。更改默认的索引页

如果你想你的索引页是从默认的index.htmlindex.php文件INDEX.HTM不同的东西,这是很容易做到的。

DirectoryIndex mypage.html

12。重定向到一个安全的HTTPS连接

如果您使用的是HTTPS,您希望将用户重定向到您的网站的安全网页,使用这样的:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

13。限制在PHP文件上传限制,最大尺寸的POST数据,最大脚本执行时间,等

htaccess文件允许你设置一些值,直接影响到你的PHP应用程序。例如,如果你想要强加在PHP上传限制,:

php_value upload_max_filesize 15M

您也可以在PHP上传后的最大尺寸为限制,

php_value post_max_size 10M

如果你不想脚本执行永远,你可以限制以下的执行时间:

php_value max_execution_time 240

最后,如果你想限制的脚本解析输入数据的时间,使用这样的:

php_value max_input_time 180

适合你在几秒钟内设置任何值。

14。伪装的文件类型

有时你不希望用户在您的网站上知道的文件类型的文件。例如,您可以使您的所有文件,看起来好像他们是HTML或PHP文件:

ForceType application/x-httpd-php
ForceType application/x-httpd-php


推荐阅读
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
author-avatar
lrz76597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有