.htaccess文件的妙用你知道多少?
in 建站教程 with 0 comment

.htaccess文件的妙用你知道多少?

in 建站教程 with 0 comment

说到.htaccess文件,我想对于wordpress新手或者老手都应该不是很熟悉,也没有多少这方面的概念吧,至少小编是这样的,而最近看到一篇有关介绍的文章,觉得很不错,所以今天打算分享给大家,也给自己一篇扫盲课吧!

htaccess-guide_zps3c591785.jpg

首先介绍下.htaccess文件到底是什么,.htaccess是Apache HTTP Server系统级别的配置文件,通常用来实现主机本身以外的一些功能的,比如说重定向、Gzip、以及访问限制等等。。。

那么下面就介绍10个关于.htaccess文件的妙用,看看大家都了解多少

1、重定向(301跳转)

相信这个功能,大家都不陌生,为了集中网站域名的权重,通常会将不带www的域名301跳转到带www的域名上,比如说本站的域名tiezi.xyz就会自动的跳转到www.tiezi.xyz上来,这样做的好处就是,搜索引擎会集中不带www的域名的页面权重到带www的网址页面上来,如果没有做301重定向,且带www和不带www的域名都能访问同一个网站,那么在搜索引擎优化方面将起到分散权重的弊端!具体操作:(将域名替换为自己的粘贴到.htaccess文件内即可)

RewriteEngine On  
RewriteCond %{HTTP_HOST} !^tiezi.xyz$ [NC]  
RewriteRule ^(.*)$ http://www.tiezi.xyz/$1 [L,R=301]  



强制跳转转到HTTPS

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
</IfModule>

站点绑定多个域名,只允许www.tiezi.xyz跳转

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^tiezi.xyz [NC,OR]
RewriteCond %{HTTP_HOST} ^www.tiezi.xyz [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

2、防盗链功能

确实,.htaccess文件可以开启防盗链的功能,什么叫防盗链?防盗链就是节省网站的流量,将网站内的文件、图片等都仅能在自己的网站域名上显示,避免其他网站调用自己网站文件而流失大量的流量,对于很多小站长来说,主机都是有流量限制的 。具体操作:

RewriteEngine On  
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?tiezi\.xyz/ [NC]  
RewriteCond %{HTTP_REFERER} !^$  
# wordpress主题下载站提醒:/notlink.png为盗链显示的图片,建议使用小尺寸的,以免因为图片太大,二次浪费!  
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /notlink.png [L]  

3、将wordpress的feed源进行301重定向

说到这功能,老实说小编还是很陌生的,原因是小编就没用过feed的功能,当然如果大家在使用wordpress自带的feed源的话,这里就跳过吧,因为这个功能是为了那些不是使用wordpress自带的feed源的朋友能够协助站长规范化feed源的,具体操作:

<IfModule mod_alias.c>  
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feeds.tiezi.xyz/wordpress-admin/  
RedirectMatch 301 /xyzments/feed/(atom|rdf|rss|rss2)/?$ http://feeds.tiezi.xyz/wordpress-admin/  
</IfModule>  

4、主机错误页面的定义

这个功能相对于大家使用虚拟主机的话,可能都已经有相关设置了,但如果是自己搭建环境的话,相信还是需要用到的,具体操作:

ErrorDocument 400 /errors/badrequest.html  
ErrorDocument 401 /errors/authreqd.html  
ErrorDocument 403 /errors/forbid.html  
ErrorDocument 404 /errors/notfound.html  
ErrorDocument 500 /errors/serverr.html  

5、指定类型的文件的打开方式

好吧,又一个陌生的功能来了,这个功能主要表现在于个别站点的音乐(mp3)文件,图片(jpg、png、gif)文件等文件必须通过下载方式得到,对于下载站来说,这样的指令是很需要的,具体操作:(自已添加文件扩展名即可)

<Files *.jpg>  
ForceType application/octet-stream  
Header set Content-Disposition attachment  
</Files>


6、php错误运行的记录生成

又一个陌生的功能来了,意思就是生成主机空间运行php所产生错误的记录,对于技术宅或者查询被黑记录是十分需要的,想象下,在密密麻麻的记录中,寻找着一些蛛丝马迹,是否很牛B的样子,呵呵。具体操作:

启用不向用户显示错误

php_flag display_startup_errors off  
php_flag display_errors off  
php_flag html_errors off  
# 记录日志到文件  
php_flag log_errors on  
php_value error_log /location/to/php_error.log  

7、网址中的文件扩展名的设定

从名称看不出具体的含义吧,其实很简单,这个功能可以移除网址中 文件的扩展名 例如.php .asp .html 通过.htaccess文件来实现起来是比较简单和安全的,也是比较有效率的,当然这也是比较极端的做法,技术宅的爱好,但搜索引擎不爱好,搜索引擎更爱静态文件,比如.html 所以需要谨慎使用!具体操作:

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{REQUEST_FILENAME}\.html -f  
RewriteRule ^(.*)$ $1.html  

html可以被替换成为asp、php等

8、未配置的apache为自动列出文件目录

我们经常会看到一些网站打开后是文件目录?其实他们是未配置的apache环境产生的,那么这很不安全,下面的代码能够轻松解决:

Options -Indexes  

9、网站页面压缩,也叫静态资源压缩(Gzip)

加快页面打开速度的有效方法就是页面静态压缩,简称gizp,当然静态化的方面有很多,这里说下普遍页面的压缩,即静态资源压缩(Gzip),操作方法很简单:

<ifmodule mod_deflate.c>  
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript  
</ifmodule>  

10、纠正代码的编码

很多朋友在写完一段代码上传到服务器后,经常出现了乱码的情况,而下面这个步骤,将解决因为代码编码而乱码的问题:

<FilesMatch "\.(htm|html|css|js)$">  
AddDefaultCharset UTF-8  
</FilesMatch>  

本文转载自:http://www.2zzt.com/jcandcj/4740.html

Responses