再说.htaccess

        前些天帮一同学配了WordPress,他对于htaccess文件的配置还是很有疑惑。我以前模模糊糊的提到过这个文件,这次正好解释一下。Nicky说,“想要实现301永久转向,如果自己会修改.htaccess,这件事情就很简单了,但是对于大多数国内WordPress用户来说这都是不可能的事。”为什么不可能呢?很明显,国内的虚拟主机提供商很少有支持自定义.htaccess文件的权限。目前我知道的大概只有盘古互联九州未来科技两家。如果再考虑到空间的访问速度和稳定性的话,九州未来科技占有绝对的优势,我的这个BLOG就是常年稳定运行于九州未来科技。那么,支持.htaccess自定义为什么很有好处呢?简单说来。这是一个相当全能的文件。举两个比较常见的功能(仅应用了.htaccess中使用的mod_rewriter模块)。

1.方便对网站进行URL转向

       比如说,当一个网站的域名变换的时候,为了最大限度的保留自己在搜索引擎中的既得成就,最好的办法就是进行301重定向,方法是写在旧域名下.htaccess文件中

RewriteEngine On
RewriteRule ^(.*)$ http://www.newname.com/$1 [R=301,L]

       良好的正则匹配是写好url转向的关键所在。

       而在WordPress中,如果想要开启Permalink功能,比如说把地址https://lostleon.com/blog/?p=123转向到https://lostleon.com/blog/archives/123的话,就必须要求虚拟主机支持.htaccess自定义功能。具体的实现代码可以让WP自动修改这个文件(要求文件访问权限至少设置到644),当然也可以自己修改这个文件。

2.防盗链

       比如,如果不想让别的网站盗用自己网站的图片的话,可以通过下面语句来实现

RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^https://lostleon.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ https://lostleon.com/refer.jpg [R,L]

        这样就可以把所有非法链接到本站的图片显示为refer.jpg了。

        那么,.htaccess文件是如何存在的呢?从根目录开始,每个目录下都可以存在一个.htaccess。用户在访问一个url时候,会从根目录开始一级一级寻找.htaccess。例如如果WP安装在lostleon.com/blog下面,那么前面提到的用于实现Permalink功能的.htaccess就应该放置在lostleon.com下面。还有应该注意,因为.htaccess文件只有扩展名,没有主文件名,所以在ftp工具中是看不到的,至少在cuteftp中看不到。安全和方便起见,可以在虚拟主机的控制面板中修改。

Leave a Reply

2 Comments on "再说.htaccess"

avatar
newest oldest
Fangming@donews
Fangming@donews

我暂时还在donews混,抽空也搞个自己的wp玩玩