首页 > 代码库 > 我用.htaccess做了些什么?

我用.htaccess做了些什么?

1、防图片盗链,减轻流量压力;

2、index.php 301转向到域名,有利于PR权重集中;

3、其它还不会,慢慢来……

我是如何做的?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.zfmoney.com/ [R=301,L]
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !zfmoney.com [NC]
RewriteRule .*\.(gif|jpg|png)$ - [F]
</IfModule>

一些语句解释:

<IfModule mod_rewrite.c></IfModule>,判断mod_rewrite模块是否存在的,必须的。

RewriteEngine On,开启转向引擎。

RewriteBase /,转向基准目录。

RewriteCond %{REQUEST_FILENAME} !-f,如果文件存在,就直接访问文件,不进行下面的RewriteRule。

RewriteCond %{REQUEST_FILENAME} !-d,如果是这些后缀的文件,就直接访问文件,不进行RewriteRule。

RewriteRule ^(.*)$ /index.php/$1 [L],伪静态设置,去除链接中的/index.php/。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.zfmoney.com/ [R=301,L]
这两句作用是,实现带http://www.zfmoney.com/index.php 的域名定向为http://www.zfmoney.com/ 形式。

RewriteCond %{HTTP_REFERER} !^$ [NC],允许直接输入地址访问图片

RewriteCond %{HTTP_REFERER} !zfmoney.com [NC],允许该域名显示图片

RewriteRule .*\.(gif|jpg|png)$ - [F],盗链网站不显示图片,直接显示红叉。

我用.htaccess做了些什么?