Maison > Article > base de données > 分享14个有用的.htaccess代码段和技巧
htaccess的 是一个文件,每一个网络管理员应该知道和了解。 ,它控制着访问到您的网站目录。 但仍然有很多,你应该知道的的,在这篇文章中的片段会告诉你。如何来做才能更好的让网站性能发挥到最佳 1。 控制对文件和目录的访问 密码保护是一回事,但有时你可
<span><span>htaccess的</span></span>
是一个文件,每一个网络管理员应该知道和了解。,它控制着访问到您的网站目录。但仍然有很多,你应该知道的的,在这篇文章中的片段会告诉你。如何来做才能更好的让网站性能发挥到最佳
密码保护是一回事,但有时你可能需要完全阻止用户访问一个特定的文件或目录的选项。这通常发生在系统文件夹,如<span><span>包括</span></span>
文件夹,应用程序需要访问,但没有用户会以往任何时候都需要的特权。
要做到这一点,粘贴此代码到<span><span>的。htaccess</span></span>
文件,并把它的目录中:
deny from all
然而,这将阻止访问到每个人,包括你自己。授予自己访问,你需要指定您的IP地址。下面是代码:
<span>order deny,allow deny from all allow from xxx.xxx.xxx.xxx</span>
<span><span>xxx.xxx.xxx.xxx</span></span>
是你的IP。如果您要更换的最后三位数字,例如<span><span>0/12</span></span>
,这将指定范围的IP地址在同一网络内,从而节省您的麻烦,分别列出所有允许的IP地址。
如果你想阻止用户访问一个特定的文件,包括.<span><span>htaccess文件</span></span>
本身,请使用下面的代码片段:
<span><span>Files </span><span>.htaccess</span><span>></span><span> order allow,deny deny from all </span><span></span><span>Files</span><span>></span></span>
同样,如果您要允许给定的IP地址,<span><span>允许从</span></span>
列出。
如果你想阻止访问特定的文件类型,用它来代替:
<span><span>FilesMatch </span><span>".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"</span><span>></span><span> Order Allow,Deny Deny from all </span><span></span><span>FilesMatch</span><span>></span></span>
防止目录浏览,
Options All -Indexes
但是,如果由于某种原因,你要启用目录浏览,更改为以下内容:
Options All +Indexes
你可以压缩任何类型的文件,不仅图像。例如,要压缩HTML文件,使用这样:
AddOutputFilterByType DEFLATE text/html
要压缩文本文件,使用这样的:
AddOutputFilterByType DEFLATE text/plain
您也可以压缩的Javascript,或压缩多个文件类型使用一个命令:
<span>AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml</span>
另外,如果你想你的JavaScript,HTML和CSS文件GZIP压缩,可以使用:
<span><span>IfModule </span><span>mod_gzip.c</span><span>></span><span> 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.* </span><span></span><span>IfModule</span><span>></span></span>
如果你不希望你的图片盗链,使用下面的代码:
<span>RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]</span>
上面替换yourdomain.com为你自己网站。
如果你有你不欢迎来自特定域的用户,你可以禁止他们。例如,如果您的网站被列在一个地方,你不想要的流量(即成人网站,黑帽网站等),你可以为一个403 Forbidden。您需要启用<span><span>mod_rewrite的,</span></span>
:
<span><span>IfModule </span><span>mod_rewrite.c</span><span>></span><span> RewriteEngine on RewriteCond %{HTTP_REFERER} bannedurl1.com [NC,OR] RewriteCond %{HTTP_REFERER} bannedurl2.com [NC,OR] RewriteRule .* - [F] </span><span></span><span>ifModule</span><span>></span></span>
您需要更换<span><span>bannedurl1.com</span></span>
,<span><span>bannedurl2.com</span></span>
等 你想加入黑名单的域名。您可能要使用<span><span>[NC]</span></span>
标志,因为它指定了您输入的域名不区分大小写。<span><span>[F]</span></span>
标志指定要采取的行动-在这种情况下,显示403 Forbidden错误。如果你想禁止多个站点,请使用<span><span>[NC,OR]</span></span>
标志为每一个域名,但最后,如果你想禁止单个域中使用<span><span>[NC]</span></span>
标志。
如果你的日志文件显示特定的用户代理(机器人或蜘蛛),你可以添加几行字在.<span><span>htaccess文件,</span></span>
并拒绝他们的访问到您的网站:
<span>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</span>
更换<span><span>badbot1</span></span>
,<span><span>badbot1</span></span>
,从日志文件中的机器人的名字。
另一种方式是通过文件缓存到您的网站的加载时间加快。下面是你需要添加以缓存文件:
<span><span>FilesMatch </span><span>".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$"</span><span>></span><span> Header set Cache-Control "max-age=2592000" </span><span></span><span>FilesMatch</span><span>></span></span>
您可以添加更多的文件类型(或删除其中的一些),您还可以使用<span><span>的max-age</span></span>
指定的时间量,
如果你不想缓存特定的文件类型,很容易不包括缓存中的序列。但是,有时文件可能会缓存,即使你没有明确列出他们,在这种情况下,您可能需要禁用缓存,只保留适合自己的,大多数情况下,你需要禁用缓存的动态文件,如脚本。
<span><span>FilesMatch </span><span>".(pl|php|cgi|spl|scgi|fcgi)$"</span><span>></span><span> Header unset Cache-Control </span><span></span><span>FilesMatch</span><span>></span></span>
默认情况下,当您尝试从Web服务器下载文件时,你会得到一个对话,询问您是否要保存文件或打开。这种对话是尤其是在大的媒体文件或PDF文件。如果你已经上传到服务器的文件进行下载,您可以节省用户的时间和进行直接下载。以下是你所需要的<span><span>。htaccess文件</span></span>
中设置:
<span>AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mp3</span>
<span><span>的.htaccess</span></span>
文件
如果由于某种原因,主要是与安全相关的,你要重命名<span><span>的。htaccess</span></span>
文件,这是很容易做到这一点。
AccessFileName htac.cess
您还需要更新.<span><span>htaccess文件</span></span>
中的任何项目文件本身或被提及的地方,否则,你会得到很多的错误。
如果你想你的索引页是从默认<span><span>的index.html</span></span>
,<span><span>index.php文件</span></span>
,<span><span>INDEX.HTM</span></span>
等不同的东西,这是很容易做到的。
DirectoryIndex mypage.html
如果您使用的是HTTPS,您希望将用户重定向到您的网站的安全网页,使用这样的:
<span>RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}</span>
<span><span>htaccess文件</span></span>
允许你设置一些值,直接影响到你的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
适合你在几秒钟内设置任何值。
有时你不希望用户在您的网站上知道的文件类型的文件。。例如,您可以使您的所有文件,看起来好像他们是HTML或PHP文件:
<span>ForceType application/x-httpd-php ForceType application/x-httpd-php</span>