htaccess 文件

     日常     2647次   

现在看见别人的网站不自动跳转、带着index.php之类的总觉得不习惯,我还是把我的配置拿出来造福大众吧 =,=

适用条件

Apache
注意:虚拟空间一般都是 Apache ,例如 cPanel、Kangle 带的 easypanel 等,均用的是 Apache 。
使用方法

请在网站根目录创建文件,名为.htaccess,内容就是下面的代码即可,注意有个 "." !
配置内容

代码全貌

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{http_host} ^www.liyuans.com$ [NC]
RewriteRule ^(.*)$ https://liyuans.com/$1 [R=301,L]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]


RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !liyuans.com [NC]
RewriteCond %{HTTP_REFERER} !meege.cc [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .*\.(gif|jpg|png)$ http://pic.ffsky.net/images/2016/09/28/e8509d6986a18799ae2593926d960212.jpg [R,NC,L]

</IfModule>

deny from 115.239.212.1
deny from 115.239.212.2/31
deny from 115.239.212.4/30
deny from 115.239.212.8/29
deny from 115.239.212.16/28
deny from 115.239.212.32/27
deny from 115.239.212.64/26
deny from 115.239.212.128/25
Rewrite

分三部分:
第一块:将所有连接全部跳转到 https 开头的、不带 www 的网址上
变种:如果仅仅只是跳转到不带 www 的网址(非 https ),则使用下面这个;至于非 www 跳转到 www ,就不多说了,类似原理。

RewriteEngine On
RewriteCond %{http_host} ^www.liyuans.com$ [NC]
RewriteRule ^(.*)$ http://liyuans.com/$1 [R=301,L]

第二块:伪静态,解决 typecho 烦人的会自带index.php在网址上的问题
第三块:防盗链,其中
第一行是允许单独窗口打开图片;
后面几行是允许使用图片的网址;
最后一行是其他网站引用图片的话,自动替换的内容(滴!学生卡!)
拒绝访问

第四块:拒绝某些 IP 访问,按需使用吧。
我屏蔽的是百度云观测的一个段,因为这玩意儿有一天抽风,把我的内存占用到了 100% !慎用这个东西!

发表新评论