91Linux - admin
type: channel
link: https://91linux.org/tag/admin/
items: Apache设置http强制跳转https
items: 正确设置robots.txt提升网站安全

Apache设置http强制跳转https
type: item
date: 2020-04-13T15:23:11+08:00
description: 在启用了 https 之后，还要保证之前的 http 端口可以打开，http 的 80 端口是有两个网址的，所以这就导致需要把原来的带 www 和不带 www 的域名同时指定一个 https 网址上面，需要做两个 Apache 的301重定向，这个其实是很简单的，最简单的做法是直接在 .htaccess 文件中添加两个 301 即可，如下所示：RewriteCond %{http_host} ^91linux.org [nc] RewriteRule ^(.*)?$ https://www.91linux.org/$1 [R=301,L] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://www.91linux.org/$1 [R=301,L] 第一个 301 很自然就是不带 www 的跳转到新的 https 上面了，而下面的301重定向则是判断如果端口不是80的话，则进行重定向，这样的话，带www和不带www的域名就一起跳转到 https 一个网址上面了，当然这种全站做301的方法是比较暴力的，通常情况下我们只要把主域名做个301就可以了，我这里是因为启用了原来的两个域名。下面是其它的Apache http跳转到https的方法，仅供参考：方法一RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.91linux.org/$1 [R=301,L] 这样跳转的好处是独立IP主机也支持，访问ip能自动跳转到https方法二RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L] 整站跳转方法三RewriteEngine on RewriteBase /yourfolder RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L] RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 以上至针对某个目录跳转， yourfolder就是目录名方法4redirect 301 /你的网页 https://你的主机+网页 至针对某个网页跳转方法5RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/tz.php RewriteRule (.*) https://%{SERVER_NAME}/$1 [R] 解释：%{SERVER_PORT} —— 访问端口%{REQUEST_URI} —— 比如如果url是 http://localhost/tz.php，则是指 /tz.php%{SERVER_NAME} —— 比如如果url是 http://localhost/tz.php，则是指 localhost以上规则的意思是，如果访问的url的端口不是443，且访问页面不是tz.php，则应用RewriteRule这条规则。这样便实现了：访问了http://localhost/index.php或者http://localhost/admin/index.php等页面的时候会自动跳转到https://localhost/index.php或者https://localhost/admin/index.php，但是访问http://localhost/tz.php的时候就不会做任何跳转，也就是说http://localhost/tz.php和https://localhost/tz.php两个地址都可以访问。

正确设置robots.txt提升网站安全
type: item
date: 2020-04-13T15:17:49+08:00
description: 前言网站设置好robots.txt十分地重要，会很大程度地影响搜索引擎对网站的爬取，因此，设置一个好的robots.txt成为必须的要求，有些小站就有因为没有设置好robots.txt而导致google搜索引擎抓不到本站内容。设置步骤其实设置robots.txt也不需要那么麻烦了，只要重要的后台不要被抓取就够了typecho的后台是/admin/，所以，理论上只要不抓取这个目录就好了本站的robots.txt，可以参考下面的代码：User-agent: * Disallow: /config.inc.php Disallow: /admin/ Disallow: /var/ Disallow: /install/ Disallow: /install.php Sitemap: https://www.91linux.org/baidu_sitemap.xml 禁止/admin/是最基础的，保护网站安全而/var/含一些typecho关键运行文件，但一般不含有资源文件，因此可以放心禁用/install/是网站的安装文件，一般安装完都会删掉这个目录，所以还是禁止了吧最后一行sitemap是一个文件，可以帮助搜索引擎更好地抓取网站