×
新网 > 虚机资讯 > 正文

Apache用户认证,域名跳转,Apache访问日志

摘要: 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志

Apache用户认证:

002UASMrzy7605pjKJv15&690.jpg

 

vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf//把123.com那个虚拟主机编辑成如下内容
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
<Directory/data/wwwroot/www.123.com>//指定认证的目录
AllowOverrideAuthConfig//这个相当于打开认证的开关
AuthName"123.comuserauth"//自定义认证的名字,作用不大
AuthTypeBasic//认证的类型,一般为Basic,其他类型阿铭没用过
AuthUserFile/data/.htpasswd//指定密码文件所在位置
requirevalid-user//指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>
/usr/local/apache2.4/bin/htpasswd-c-m/data/.htpasswdaming
重新加载配置

/usr/local/apache2.4/bin/apachectl-t,=测试配置文件是否正确

/usr/local/apache2.4/bin/apachectlgraceful=重新加载配置文件
绑定hosts(Windows的hosts文件),浏览器测试
curl-x127.0.0.1:80www.123.com//状态码为401说明需要认证用户和密码
curl-x127.0.0.1:80-uaming:passwdwww.123.com//状态码为200正确认证200=没问题

配置文件修改如下:

 

 

配置文件修改完以后生成密码:

/usr/local/apache2.4/bin/htpasswd-c-m/data/.htpasswdaming(测试机器密码rabbit)

 

第二次再次创建新用户那么就不需要-c因为已经创建过密码文件了。

 

 

 

 

 

 

 

域名跳转:

 

域名跳转分类及区别 种类:

301表示永久跳转;302表示临时跳转。

区别: 使用效果不同 302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。 SEO使用方式不同
在搜索引擎优化中302跳转被众多黑帽SEO优化人员追求,对网站进行恶意302跳转至非用户目标访问网站,因此搜索引擎对于网站的302跳转通常是比较不友好,所以要慎用302跳转! SEO

SEO(SearchEngineOptimization)搜索引擎优化,在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的预期目标。

 

域名跳转配置 配置虚拟主机配置文件:httpd-vhosts.conf。

[root@adailinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf …… <VirtualHost*:80> DocumentRoot"/data/wwwroot/111.com" ServerName111.com ServerAliaswww.example.com <IfModulemod_rewrite.c> #需要mod_rewrite的支持 RewriteEngineon #开启rewrite功能 RewriteCond%{HTTP_HOST}!^111.com$ #Cond=condition,定义rewrite条件:所有非111.com的主机名(域名) RewriteRule^/(.*)$http://111.com/$1[R=301,L] #定义rewrite规则:当满足上面条件时才执行当前规则,即跳转到111.com。 </IfModule> ErrorLog"logs/111.com-error_log" CustomLog"logs/111.com-access_log"common </VirtualHost>

<IfModulemod_rewrite.c>//需要mod_rewrite模块支持 RewriteEngineon//打开rewrite功能on=打开off=关闭 RewriteCond%{HTTP_HOST}!^111.com$//定义rewrite的条件,主机名(域名)不是www.123.com满足条件=当域名不是111.com那么就会进行跳转 RewriteRule^/(.*)$http://111.com/$1[R=301,L]//定义rewrite规则,当满足上面的条件时,这条规则才会执行R=301表示永久跳转L=只跳转一次R=302表示临时跳转 </IfModule> 检查系统配置:

[root@aminglinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@aminglinux~]#/usr/local/apache2.4/bin/apachectlgraceful [root@aminglinux~]#/usr/local/apache2.4/bin/apachectl-M|greprewrite

在此检查Apache是否加载了虚拟主机配置中调用的rewrite模块,如果没有加载,需要编辑Apache配置文件“httpd.conf”搜索rewrite:

[root@aminglinux~]#vim/usr/local/apache2.4/conf/httpd.conf …… LoadModulerewrite_modulemodules/mod_rewrite.so LoadModulephp5_modulemodules/libphp5.so #LoadModulephp7_modulemodules/libphp7.so

即,去掉注释符号“#”,加载rewrite模块。

检测

[root@aming-01~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@aming-01~]#/usr/local/apache2.4/bin/apachectlgraceful [root@aming-01~]#/usr/local/apache2.4/bin/apachectl-M|greprewrite rewrite_module(shared)

使用curl检测:

 

此时,状态码为301,即设定了域名永久跳转!状态码为404表示页面不存在,状态码为401表示需要网页验证。

在浏览器进行检测时,访问“www.example.com”会直接跳转到“111.com”。

 

11.21Apache访问日志:

 

日志文件所在位置:

access_log表示访问日志error_log表示错误日志

[root@aminglinux~]#ls/usr/local/apache2.4/logs 111.com-access_logabc.com-access_logaccess_loghttpd.pid 111.com-error_logabc.com-error_logerror_log

 

自定义日志格式 系统自带日志格式:

vim/usr/local/apache2.4/conf/httpd.con

LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i""combined LogFormat"%h%l%u%t"%r"%>s%b"commoncommon=系统默认格式 #h表示host来源IP,l表示login用户,u表示user用户密码,t表示time时间,r表示request(行为),s表示status状态码,b表示byte大小 #user-agent:用户代理 #referer:跳转到当前位置的上一个网址(即:提供当前IP的网站) 配置日志格式

编辑虚拟主机配置文件“httpd-vhosts.conf”:

[root@aminglinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost*:80> DocumentRoot"/data/wwwroot/111.com" ServerName111.com ServerAliaswww.example.com <IfModulemod_rewrite.c> RewriteEngineon RewriteCond%{HTTP_HOST}!^111.com$ RewriteRule^/(.*)$http://111.com/$1[R=301,L] </IfModule> ErrorLog"logs/111.com-error_log" CustomLog"logs/111.com-access_log"combined </VirtualHost>

说明:将日志文件后面原有common改为combined。

重新加载:

[root@aminglinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@aminglinux~]#/usr/local/apache2.4/bin/apachectlgraceful

查看更改后的日志样式:

[root@aminglinux~]#cat/usr/local/apache2.4/logs/111.com-access_log

 

扩展
apache虚拟主机开启php的短标签http://ask.apelearn.com/question/5370

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading