Apache的.htaccess文件是服务器的心脏,控制着网站访问的各种规则。这里提供了10个不错的.htaccess片段能够帮助你优化你的网站,包括重定向、性能、可用性等等!
1. 强制后缀反斜杠 
在URL的尾部加上反斜杠似乎对SEO有利 :)
<IfModule mod_rewrite.c>
 RewriteCond %{REQUEST_URI} /+[^\.]+$
 RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
</IfModule>
2. 防盗链 
节省你宝贵的带宽吧!
RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /p_w_picpaths/nohotlink.jpg with your "don't hotlink" p_w_picpath url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /p_w_picpaths/nohotlink.jpg [L]
3. 重定向移动设备 
加入你的网站支持移动设备访问的话,最好还是重定向移动设备的访问到专门定制的页面
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/m/.*$
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
#------------- The line below excludes the iPad
RewriteCond %{HTTP_USER_AGENT} !^.*iPad.*$
#-------------
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC] #*SEE NOTE BELOW
RewriteRule ^(.*)$ /m/ [L,R=302]
4. 强制浏览器下载指定的文件类型 
你可以强制浏览器下载某些类型的文件,而不是读取并打开这些文件,例如MP3、XLS。
<Files *.xls>
  ForceType application/octet-stream
  Header set Content-Disposition p_w_upload
</Files>
<Files *.eps>
  ForceType application/octet-stream
  Header set Content-Disposition p_w_upload
</Files>
5. 火狐的跨域名字体嵌入 
火狐不允许嵌入一个外站的字体,下面的.htaccess片段可以绕过这个限制
<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "http://yourdomain.com"
</IfModule>
</FilesMatch>
6. 使用.htaccess缓存 给网站提速 
恐怕这个是最有用的代码片段了。这段代码能帮你极大的提高网站的速度!
# 1 YEAR
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
7. 阻止WordPress博客的垃圾评论 
还在为垃圾评论头疼吗?你可以用Akismet插件来解决这个问题,但是.htaccess文件来的更直接:阻止垃圾评论机器人访问wp-comments-post.php文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>
8.重定向不同的feed格式到统一的格式 
很多年前,有很多不同的feed格式,例如RSS、Atom、RDF等等。但是现在RSS已经占了绝对的主导地位。下面这段代码可以让你重定向不同的feed格式到同一个feed。这段代码可以直接在WordPress博客上使用。
<IfModule mod_alias.c>
 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://example.com/feed/
 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://example.com/comments/feed/
</IfModule>
9. 配置网站的HTML5视频 
HTML5为我们带来了不用Flash的视频播放功能,但是你必须配置你的服务器来提供最新的HTML5视频播放功能。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
AddType application/x-shockwave-flash swf
10. 记录PHP错误 
在页面上显示PHP错误是很尴尬的事情,也不安全,下面这段代码可以把PHP错误记录到.log文件中而不在页面显示。
# display no errs to user
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /location/to/php_error.log
11. 在JavaScript代码中运行PHP 
在JS中插入PHP代码有时候是很有用的,例如读取数据库。下面这段代码可以让你在JS中运行PHP。
view sourceprint?
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

转载于:https://blog.51cto.com/icedragon/1154899

11个实用的Apache .htaccess配置相关推荐

  1. 44个实用的Apache Web Server面试问题及答案

    Apache HTTP是Windows和UNIX的开源Web服务器,也是最受欢迎的Web服务器,如果您打算以中间件/系统/ Web管理员的身份工作,则必须熟悉它. 1.如何停止/启动Apache We ...

  2. Apache 的配置与应用

    一.构建虚拟 Web 主机虚拟 Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为"虚拟"Web 主机.通过虚拟 Web 主 ...

  3. Apache简单配置(4)搭建Discuz 7.0.0论坛

    Apache简单配置(4)搭建Discuz 7.0.0论坛 RHEL5.3 基本网络配置 一. 1.RHEL5 U3:如图1 (如图1) 2.#hostname //查看当前主机的主机名:如图2 (如 ...

  4. LINUX下的APACHE的配置

    今天写一下LINUX下的APACHE的配置方法. APACHE是作为WEB服务器的.它的优点在于用缓存方式来加快网页的搜索速度. APACHE缺省只支持静态网页 LINUX下有APACHE的RPM包 ...

  5. 【Flink】Flink1.11.2 on YARN滚动日志配置

    文章目录 1.概述 1.1 Flink 应用的完整日志如何查看? 1.2 滚动 1.概述 转载:Flink1.11.2 on YARN滚动日志配置 参考:https://blog.csdn.net/w ...

  6. Apache常见配置及问题

    1.Apache的配置由httpd.conf文件配置修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你 ...

  7. apache中配置404错误页的方法

    apache中配置404错误页的方法: 下载 apache配置文件/usr/local/apache2/conf/httpd.conf 修改 httpd.conf 找到: #ErrorDocument ...

  8. Linux下apache性能配置调优

    Apache 性能配置优化 ###httpd 相关查看命令了解 查看当前安装模块mpm(多路处理器) [root@localhost ~]# httpd -l 查看httpd进程数(即各个mpm模式下 ...

  9. apache性能配置优化

    最近在进行apache性能优化设置.在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. httpd相关 ...

最新文章

  1. 菜鸟学习日记:跟我一起学office2007之Excel【02基础篇】04Excel基础知识二
  2. java线程(2)--同步和锁
  3. 二进制法生成1-n的子集
  4. (数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理
  5. 我的angularjs源码学习之旅1——初识angularjs
  6. Uber无人车安全员之困:这是一份机械、枯燥、影响心理的工作
  7. 机器学习代码实战——朴素贝叶斯(实现垃圾邮件分类)
  8. golang每隔10秒访问URL
  9. c#加mysql简单系统_visual studio2019连接MYSQL数据库详细教程(C#代码)
  10. Python_画boxplot 盒图/箱线图
  11. ruby 基础知识(一)
  12. unity3d用射线检测做了一个物体的捡起功能
  13. python测试app性能_App性能测试
  14. Flask--jinjia2模板
  15. 基于Bootstrap模板创建门户网站vue项目02
  16. 计算机大赛鼓励语录,鼓励参加比赛的话
  17. 弘辽科技:淘宝提升销量不评价有效果吗?不提升销量能做起来吗?
  18. 促销 Eventide Clockworks 经典传奇效果器插件合集
  19. 程序员高效办公利器整理
  20. Linux 根目录与路径

热门文章

  1. Cheese 游戏编程:第 4 部分 (转自MSDN)
  2. VMware SD-WAN 修复6个漏洞,可关闭整个企业网络
  3. Python项目实战:爬取斗图网表情包图片
  4. Edge 浏览器有秘密白名单,允许 Facebook 运行 Flash 代码
  5. pycharm如何设置python版本、设置国内pip镜像、添加第三方类库
  6. IT人士|不可不知的10个行业内幕
  7. Understanding the Bias-Variance Tradeoff
  8. SQLite学习手册(索引和数据分析/清理)-转
  9. SQLite指南(5) - PRAGMA命令用法(完整)
  10. 一个通用的Makefile模板-转