记住用户名密码
先解析一下典型的.htaccess文件:
# 开启URL重写
RewriteEngine on
# URL重写的作用域
RewriteBase /path/url
# 满足怎样的条件
RewriteCond %{HTTP_HOST} !^www\.oy51\.com$ [NC]
# 应用怎样的规则
RewriteRule .? http://www.oy51.com%{REQUEST_URI} [R=301,L]
来说说RewriteCond,首先有一个%,因为{HTTP_HOST}是一个apache变量,需要用%来指示。从!开始就是匹配的条件,支持 正则。!表示不等于,这句话的意思就是:如果HTTP_HOST不是www.oy51.com。后面的[NC](no case)表示忽略大小写,常见的还有:
[L](last):终止一系列的RewriteCond和RewriteRule
[R](redirect):触发一个显示的跳转,也可以指定跳转类型,如[R=301]
[F](forbidden):禁止查看特定文件,apache会触发403错误
1、主域名指向子目录
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?oy51.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?oy51.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
2、规范www
①、全部统一到带www,例如将oy51.com统一到www.oy51.com
ewriteEngine on
RewriteCond %{HTTP_HOST} ^oy51\.com$ [NC]
RewriteRule ^(.*)$ http://www.oy51.com/$1 [L,R=301]
②、全部统一到不带www,例如将www.oy51.com统一到oy51.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.oy51\.com$ [NC]
RewriteRule ^(.*)$ http://oy51.com/$1 [L,R=301]
3、防止别人域名恶意解析
RewriteEngine On
RewriteCond %{HTTP_HOST} !(^www\.oy51\.com$) [NC]
RewriteRule ^(.*)$ http://www.oy51.com/$1 [L,R=301]
4、启用Deflate
# 在.htaccess中加入下面代码给指定文件后缀启用Deflate,Apache2.0以上版本支持Deflate。
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
<FilesMatch "\.(js|css)$">
# 指定启用Deflate的文件后缀,增加的后缀用|隔开即可,例如 <FilesMatch "\.(js|css|html|php)$">
5、设置默认首页及顺序
# 在.htaccess文件中加入以下后缀名(可以根据自身需求进行调整):
DirectoryIndex index.html index.htm index.php index.cgi
6、禁止显示目录列表
# 如果目录没有默认首页文件,将会列出文件列表,可能造成安全隐患,
# 为避免这种情况发生,可以在.htaccess文档中键入以下命令,用以阻止目录列表的显示:
Options -Indexes
7、设置目录及文件密码保护
# 给目录设置密码保护,在该目录建立一个.htaccess文件,放入如下内容:
AuthUserFile /opt/guide/www.idcspy.org/.htpasswd
AuthType Basic
AuthName "Member Page"
require valid-user
# 注:AuthUserFile 设置密码文件的路径。
8、图片防盗链
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?oy51\.com/ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]
# 由于是基于HTTP_REFERER的验证,所以只能防止一般的图片盗链,因为HTTP_REFERER是比较容易伪造的.
9、自定义404错误页面
# 如果用户输入了一个不存在的url,那么就显示自定义的错误页面
ErrorDocument 404 /404.html
# 其他同理
ErrorDocument 500 /500.html
————————————————
版权声明:本文为CSDN博主「全栈工程师 - 小柒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq15577969/java/article/details/90209900
目前有 0 条留言 其中:访客:0 条, 博主:0 条