本站htaccess文件

现在看见别人的网站不自动跳转、带着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% !慎用这个东西!

相关文章