使用Apache搭建Web网站服务器

news/2024/5/20 23:53:44/文章来源:https://blog.csdn.net/VickHUC/article/details/82899453

 

 

学习一个服务的过程:

 

  1. 此服务器的概述:名字,功能,特点,端口号
  2. 安装
  3. 配置文件的位置
  4. 服务启动关闭脚本,查看端口
  5. 此服务的使用方法
  6. 修改配置文件,实战举例
  7. 排错(从下到上,从内到外)

 

本节所讲内容:

  • apache服务器常见概念
  • apache服务器安装及相关配置文件
  • 实战:基于用户和主机的访问控制
  • 实战:部署web服务器,运行一个类人人网的社交网站

 

注意:本节课是用rpm包来搭建LAMP环境,主要是让同学们初步了解下相关概念和LAMP环境的功能,后期会带大家用源码编译的方式来精讲LAMP和LNMP环境,包括环境搭建,调优等等。

 

apache服务端:jiaofy63.cn   IP:192.168.0.63

apache客户端:jiaofy64.cn   IP:192.168.0.64

 

 

web服务概述:

WEB服务器也称为WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览服务。 

 

常见web服务器(web):

 httpd(apache)、nginx +PHP

tomcat:   jsp + html        

win:IIS

客户端:IE 、firefox、chrome 、手机(浏览器)Browser

 

今天的主角:LAMP=Linux Apache Mysql PHP 中的 Apache(HTTPD)

类 LINUX 系统

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 一组常用来搭建动态网站或者服务器 的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼 容度,共同组成了一个强大的 Web 应用程序平台。随着开源潮流的蓬勃发展,开放源代码 的 LAMP 已经与 J2EE 和.Net 商业软件形成三足鼎立之势,并且该软件开发的项目在软件方 面的投资成本较低,因此受到整个 IT 界的关注。从网站的流量上来说,70%以上的访问流量 是 LAMP 来提供的,LAMP 是最强大的网站解决方案

 

 

什么是 Apache

 

Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编 译到服务器中!Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化进行插拔! 目前支持 Windows,Linux,Unix 等平台!

Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),是专门为运 作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目!那么我们的 HTTPD 也只是 Apache 的开源项目之一!

主要的开源项目:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts, Tomcat,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server,所以现在所说的 Apache 已 经就是 HTTPD Server 的代号了! 我们还见的比较多的是 Tomcat,Hadoop 等项目

官方网站:http://www.apache.org/httpd:http://httpd.apache.org/

 

图标:

 

什么是 Mysql

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司,他也是最流行的关系型数据库管理系统!特别是在 WEB 应用方面!

关系型数据库:它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数

官方网站:http://www.mysql.com/

 

什么是 PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通 用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适 用于 Web 开发领域。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以 比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比, PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比 完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和 优化代码运行,使代码运行更快。

简单的说,PHP 就是一个脚本解释器! 官方网站:http://php.net/

PHP 服务器安装好之后,升级切记注意,不要盲目升级!因为它会废弃很多废弃低效的语法!

 

LAMP 工作原理

 

 

Web 服务器的工作模式和端口

 

工作模式是:B/S 模式

工作端口是:80/http 正常端口443/https SSL 端口

 

安装服务器端:httpd

httpd-2.2.3-11.el5.i386.rpm :Apache 服务的主程序包,服务器端必须安装该软件包

httpd-devel-2.2.3-11.el5.i386.rpm :Apache 开发程序包

httpd-manual-2.2.3-11.el5.i386.rpm :Apache 手册文档,包含HTML 格式的Apache 计划的

Apache User's Guide 说明指南

安装:#推荐使用yum安装

yum -y install httpd  

或者:

yum install httpd-devel

 

后自动解决安装很多依赖的软件包,后期大家在学习源码编译安装的时候,会遇到这样的问题,需要手动把依赖的包安装好,才能编译通过。

 

安装字符界面的下浏览器客户端:elinks

安装:

[root@jiaofy63 Packages]# yum install elinks

浏览器

测试:

例: [root@jiaofy63 ~]# elinks 192.168.1.63  

 

配置文件位置:

[root@jiaofy63 Packages]# vim /etc/httpd/conf/httpd.conf

 

启动服务

[root@jiaofy63 ~]# service httpd restart

[root@xue63 ~]# chkconfig httpd on

查看端口

[root@jiaofy63 Packages]# netstat -anutp | grep 80

tcp        0      0 :::80                       :::*                        LISTEN      3854/httpd

 

 

此服务的使用方法

通过浏览器访问

elinks  192.168.0.63

 

主配置文件介绍:

 

vim /etc/httpd/conf/httpd.conf

 

ServerName 192.168.1.235:80     #服务器主机名

PidFile run/httpd.pid#apache      #运行进程 ID 存放

Timeout 60                        #超时时间,多少 s 没有反应就超时

KeepAlive Off                     #是否允许一个永久的链接,设置为 OFF 的时候,不 能保持连接功能,传输效率比较低,设置为 ON 时,可以提高服务器传输文件的效率,建议开启

MaxKeepAliveRequests 100       #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个

KeepAliveTimeout 15              #超时时间,同一个客户端下一个请求 15s 没收到就 超时

Listen 80#监听端口,默认本地 IP,如果指定 ip 写上 IP:80

<IfModule prefork.c>

StartServers8                       #服务开始起启动 8 个进程

MinSpareServers5                  #最小空闲 5 个进程

MaxSpareServers20                 #最多空闲 20 个进程

ServerLimit256                      #服务器允许配置进程数上线

MaxClients256                       #最大连接数 256,超过要进入等候队列 

MaxRequestsPerChild4000         #每个进程生存期内服务最大的请求数量,0 表示用不 结束

</IfModule>

<Directory />

Options FollowSymLinks            #Options Indexes 目录浏览FollowSymLinks 用连接

浏览

AllowOverride None                #设置为 none,忽略.htaccess

</Directory>

LoadModule auth_basic_module modules/mod_auth_basic.so      #载入的库,模块

● ● ● ● ● ●

Include conf.d/*.conf               #conf.d 里面的 conf 文件也属有效配置文件

User apache#apache                 #运行以哪个身份运行

Group apache#apache               #运行以哪个组的身份运行

ServerAdmin root@localhost       #管理员邮箱

DocumentRoot "/var/www/html"   #默认的主目录,如果改动要改动两处,Directory

<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None

Order allow,deny                   #这里默认后者生效,也就是 deny 生效

Allow from all                       #这里说允许所有

</Directory>

LogLevel warn                         #日志等级

DirectoryIndex index.html index.html.var  #首页 

AccessFileName .htaccess              #access 文件名

AddDefaultCharset UTF-8              #支持的语言,默认编码

#配置文件的最后是虚拟主机的字段,其中你大部分字段做个了解即可,用到的时候去查 即可

 

 

 

 

修改配置文件,实战举例

 

例1: 搭建一台测试web服务器

案例:

部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.0.63:80,首页采用index.html

文件。管理员E-mail地址为 cat@jiaofy.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。

 

修改配置文件:

 

vim /etc/httpd/conf/httpd.conf

 

设置Apache 的根目录为/etc/httpd

设置httpd 监听端口80

设置管理员E-mail地址为 cat@jiaofy.cn

设置WEB 服务器的主机名和监听端口为192.168.0.63:80

设置Apache 文档目录为/var/www/html

设置主页文件为 index.html

设置服务器的默认编码为UTF-8

 

 

改配置文件之前,记得先备份一份,以便恢复。

 

修改配置文件相关参数:

[root@jiaofy63 chroot]# vim /etc/httpd/conf/httpd.conf   #以下参数需要我们掌握

ServerRoot "/etc/httpd"  #apache配置文件的根目录

Timeout 60  #超时时间 

Listen 80   监听的端口

ServerAdmin cat@jiaofy.cn  #设置管理员,e-mail 地址

ServerName 192.168.0.63:80   #服务器主机名

DocumentRoot "/var/www/html"   #网站页面根目录

Options Indexes FollowSymLinks   #当一个目录没有默认首页时,允许显示此目录列表

 

DirectoryIndex index.html index.php   #指定默认首页

 

编码:

AddDefaultCharset UTF-8   # 设置服务器的默认编码为: UTF-8

 

取消apache默认欢迎页:

[root@jiaofy63 ~]#  vim /etc/httpd/conf.d/welcome.conf

#

# This configuration file enables the default "Welcome"

# page if there is no default index page present for

# the root URL.  To disable the Welcome page, comment

# out all the lines below.

#

#<LocationMatch "^/+$">   #把红色内容注释

#    Options -Indexes

#    ErrorDocument 403 /error/noindex.html

#</LocationMatch>

 

重启:

 [root@jiaofy63 ~]# service httpd restart

 

创建首页:

# echo 'welcome to www.jiaofy.cn!'  > /var/www/html/index.html

 

测试:

 

yum 的方式搭建 LAMP 环境

LAMP=Linux(存在)+Apache(HTTPD   已安装)+Mysql+PHP

 

1、安装rpm包

 [root@jiaofy63 ~]# yum install httpd  mysql mysql-server php php-mysql –y

或者:

[root@jiaofy63 ~]# yum install httpd-devel  mysql  mysql-server php php-mysql -y

测试数据库:

 [root@jiaofy63 ~]# service mysqld start

[root@jiaofy63 ~]# chkconfig mysqld on

[root@jiaofy63 ~]# mysql 

 

mysql> show databases;

mysql>exit;

 

测试apache是否支持php

创建一个文件:

[root@jiaofy63 html]# cd /var/www/html/

[root@jiaofy63 html]# vim index.php

<?php

phpinfo();

?>

 

 

类似于PHP 探针:

 

扩展:探针:一个PHP编写的文件,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息,定时刷新一次。以及包括服务器IP地址,Web服务器环境监测,php等信息。 

 

适用于主机运维人员,个人站长等,

参看:http://www.pcxyz.com/

 

 

LAMP环境,几种不同的安全访问机制的实现:

 

 

    • 修改网站目录对应参数及权限

修改网站默认根目录,并且设置访问权限,只有在我允许的范围之内可以访问

 

1、编辑Apache 配置文件httpd.conf

vim /etc/httpd/conf/httpd.conf

 

修改网站默认根目录

设置文档目录为/var/www/html/bbs

 

允许所有人访问/var/www/html/bbs 目录

 

目录与访问控制:

<Directory "/var/www/html/bbs">      #子目录会继承这个目录的属性

    Options  FollowSymLinks            #Options:Indexes:目录浏览 

    AllowOverride None                 #Followsymlinks:可以用连接

    Order allow,deny

    Allow from 192.168.18.0/24                     #从哪里来的允许 

Deny from 192.168.16.0/24                      #从哪里来的拒绝

Allow from  .baidu.com

#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。

谁写到后面,谁的优先级高

</Directory>

 

mkdir /var/www/html/bbs

 

cp /var/www/html/index.html /var/www/html/bbs/

 

 

    • 使用别名,引用网站根目录以外的路径。

 

将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/ phpdata/ 时,就可以访问目录/usr/local/phpdata中的内容。

 

注:apache的别名也叫虚拟目录

语法:

Alias  URL路径   PATH物理路径

 

创建测试数据:

[root@jiaofy63 conf]# mkdir /usr/local/phpdata

 [root@jiaofy63 conf]# echo "This Alias PHPdata" > /usr/local/phpdata/index.html

修改配置文件:

[root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf  # 添加红框中的内容

 

Alias /phpdata/ "/usr/local/phpdata/"

<Directory "/usr/local/phpdata/">

    Options Indexes FollowSymLinks 

    AllowOverride None

    Order deny,allow

    Allow from all

</Directory>

注:Alias /phpdata/ "/usr/local/phpdata/"     #/phpdata/ 可以随意起。比如改/phpdata/ 为/php/  则访问链接: http://192.168.1.63/php/

 

测试:

[root@jiaofy63 conf]# service httpd restart

http://192.168.1.63/phpdata/

或:

http://192.168.1.63/phpdata/a.html

 

 

三、当一个目录下没有默认首页时,访问http://192.168.1.63/phpdata/禁止显示目录列表

 

修改配置文件:

[root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf  # 修改红色标记内容

Alias /phpdata/ "/usr/local/phpdata/"

<Directory "/usr/local/phpdata/">

    Options -Indexes FollowSymLinks   #Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录

    AllowOverride None

    Order deny,allow

    Allow from all

</Directory>

 

 

 

  • 打开软链接功能。 通过软件链接直接引用网站根目录以外的内容

通过软连接,我们可以直接引用网站根目录外面的内容,我们通过目录浏览的方式,在

/var/www/html/bbs/面创建一个 web2  目录,  然后我访问 web2  目录的话,实际访问的是

/usr/local/abc 下面的内容

 

[root@Jiaofy63 ~]# mkdir /usr/local/abc 

[root@Jiaofy63 ~]# cp -r /boot/grub/ /usr/local/abc/

 [root@Jiaofy63 ~]# mkdir –p /var/www/html/bbs/web2

[root@Jiaofy63 ~]# ln -s /usr/local/abc/* /var/www/html/bbs/web2/

[root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf  # 修改红色标记内容,确认开了FollowSymLinks

 

 

 

  • 通过用户认证的方式,对网站下/usr/local/phpdata/目录进行保护。 设置/usr/local/phpdata/目录,只能通过用户名密码方式访问。

 

方法一:

[root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf   #在需要使用用户验证的目录的相关Directory段落添加以下红色标记内容:

 

Alias /phpdata/ "/usr/local/ phpdata /"

<Directory "/usr/local/ phpdata /">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order deny,allow

    Allow from all

 

    authtype basic

    authname "my web site"

    authuserfile /etc/httpd/conf/passwd.secret

    #require user tom

    #require user tom bob

    require valid-user

</Directory>

 

参数说明:

 

authtype basic      # 1)authtype命令:指定认证类型为:basic。

authname " my web site "

#  AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。

authuserfile /etc/httpd/conf/passwd.secret  # AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。

    require命令:指定哪些用户或组才能被授权访问。如:

  require user user1 user2(只有用户user1和user2可以访问)

  require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

 

利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文

[root@jiaofy63 conf]# htpasswd -cm 存放用户名和密码的文件名 用户名

 [root@jiaofy63 conf]# htpasswd -cm /etc/httpd/conf/passwd.secret tom

New password: 123456

Re-type new password: 123456

Adding password for user tom

#第一个生成用户名和密码,需要创建文件,因此需要加-c参数

 

[root@jiaofy63 phpdata]# htpasswd -h   #查看参数

-c  Create a new file.

-m  Force MD5 encryption of the password.

 

[root@jiaofy63 conf]# htpasswd -m /etc/httpd/conf/passwd.secret bob

New password: 123456

Re-type new password: 123456

Adding password for user bob

[root@jiaofy63 conf]# cat /etc/httpd/conf/passwd.secret   #查看内容

tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf.

bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0

 

测试:

 

[root@jiaofy63 conf]# service httpd restart

 

http://192.168.1.63/phpdata/

 

 

 

方法二:

 

#vim httpd.conf    #在需要使用用户验证的目录的相关Directory段落添加

Alias /phpdata/ "/usr/local/phpdata/"

<Directory "/usr/local/phpdata/">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order deny,allow

    Allow from all

    AllowOverride AuthConfig

 

</Directory>

# AllowOverride AuthConfig一行表示允许对/usr/local/phpdata/目录下的文件进行用户认证。

 

在要保护的目录下创建一个存放进行用户认证信息的文件:

[root@jiaofy63 conf]# vim /usr/local/phpdata/.htaccess  #写入以下内容

authtype basic

authname "my web site by .htaccess"

authuserfile /etc/httpd/conf/passwd.secret

#require user tom

require valid-user

 

 

利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文

[root@jiaofy63 conf]# htpasswd -cm /etc/httpd/conf/passwd.secret tom

New password: 123456

Re-type new password: 123456

Adding password for user tom

 

[root@jiaofy63 conf]# htpasswd -m /etc/httpd/conf/passwd.secret bob

New password: 123456

Re-type new password: 123456

Adding password for user bob

[root@jiaofy63 conf]# cat /etc/httpd/conf/passwd.secret   #查看内容

tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf.

bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0

 

[root@jiaofy63 conf]# service httpd restart

测试:

http://192.168.1.63/phpdata/

 

 

六 、配置apache虚拟主机,实现在一台服务器上运行多个网站

 

apache虚拟主机实现有三种方法:

1、通过不同的IP地址

2、通过不同的域名

3、通过不同的端口号

 

 

三种都需要把虚拟主机功能打开:

开启:

改:

#NameVirtualHost *:80

为:

NameVirtualHost *:80

 

方法1:

通过不同的IP地址,解析不同域名

给服务器增加IP(另一个域名解析出来的那个IP)。

 

[root@jiaofy63 ~]##ifconfig eth0:1 192.168.0.56 netmask 255.255.255.0

[root@jiaofy63 ~]## mkdir  /var/www/html/bbs/

[root@jiaofy63 ~]# echo "bbs.jiaofy.cn"  > /var/www/html/bbs/index.html

 

修改httpd.conf

#vim httpd.conf   在文件的最后,添加以下内容

<VirtualHost 192.168.0.63:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

<VirtualHost 192.168.0.56:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/bbs/

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

测试:

[root@jiaofy63 conf]# service httpd restart

http://192.168.1.56/

http://192.168.1.63/

 

方法二:

通过不同域名:

在域名管理后台,修改DNS配置,www.jiaofy.com与bbs.jiaofy.com解析成相同的IP。

 

修改httpd.conf

#vim httpd.conf

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/

    ServerName www.jiaofy.com

    ErrorLog logs/www.jiaofy.com-error_log

    CustomLog logs/www.jiaofy.com-access_log common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/bbs/

ServerName  bbs.jiaofy.com

ErrorLog logs/bbs.jiaofy.com-error_log

    CustomLog logs/bbs.jiaofy.com-access_log common

</VirtualHost>

 

[root@jiaofy63 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63   jiaofy63.cn

192.168.1.63   www.jiaofy.com

192.168.1.63   bbs.jiaofy.com

192.168.1.64   jiaofy64.cn

 

测试:

[root@jiaofy63 conf]# service httpd restart

[root@jiaofy63 ~]# elinks www.example.com

[root@jiaofy63 ~]# elinks bbs.example.com

 

 

方法3:基于端口配置虚拟主机:

[root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf  

 改: 

Listen   80  
为:

Listen   80  

Listen   81  
#  
更改为你要添加的多个端口


  再建立两个虚拟主机: 

   [root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf   #  在文件的最后添加

再建立两个虚拟主机: 

   [root@jiaofy63 conf]# vim /etc/httpd/conf/httpd.conf   #  在文件的最后添加

 

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/

    ServerName www.example.com

    ErrorLog logs/www.example.com-error_log

    CustomLog logs/www.example.com-access_log common

</VirtualHost>

<VirtualHost *:81>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/bbs/

    ServerName bbs.example.com

    ErrorLog logs/bbs.example.com-error_log

    CustomLog logs/bbs.example.com-access_log common

</VirtualHost>

 

测试:

[root@jiaofy63 conf]# service httpd restart

http://192.168.1.63/

http://192.168.1.63:81/

 

 

 


 拓展

Apache URL 地址重写(伪静态),自定义 404 页面,301 重定向配置

伪静态

[root@Jiaofy63 ~]# vim /etc/httpd/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so       #查看有没有重写模块

[root@Jiaofy63 ~]# vim /var/www/html/index.php

<?php

echo "The News ......" .$_GET['id']."......Pages"

?>

测试访问方式:使用 http://192.168.1.63/index.php?id=8  id 值随便写

 

使用这种方式访问的缺点:暴露了我们页面语言,php 写的,MYSQL 的字段 ID,可以尝试 知道你的新闻总条数,一个个值尝试出来,URL 很不美观,不利于 SEO,暴露你的文件路径 以 及 文 件 名 , 那 么 对 他 进 行 伪 静 态 之 后 , 可 以 访 问 一 个 页 面 是 http://192.168.1.63/index8.html 来访问同样的页面

修改配置文件,支持.htaccess

 

[root@Jiaofy63 ~]# vim /etc/httpd/conf/httpd.conf

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /var/www/html/

<Directory /var/www/html>      #对这个虚拟主机实现 Rewrite,需要添加

Directory 字段中

Options FollowSymLinks

AllowOverride All

</Directory>

ServerName dummy-host.example.com

ErrorLog logs/dummy-host.example.com-error_log

CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

 

 

[root@Jiaofy63 ~]# vim /var/www/html/.htaccess    //添加伪静态规则

RewriteEngine on

RewriteRule ^index(\d+).html$ index.php?id=$1

[root@Jiaofy63 ~]# service httpd restart

测试:

http://192.168.1.63/index8.html

 

自定义 404

输入一个不存在的页面(使用火狐浏览器)

 

修改.htaccess,支持自定义 404 页面

 

[root@Jiaofy63 ~]# vim /var/www/html/.htaccess    //追加下面行

RewriteEngine on

RewriteRule ^index(\d+).html$ index.php?id=$1

ErrorDocument 404 /404.html    #自定 404,此行添加

[root@Jiaofy63 ~]# service httpd restart

[root@Jiaofy63 ~]# echo "My 404 Error" > /var/www/html/404.html

测试: 刷新刚刚那个不存在的页面

301 重定向配置

假设 a.com 在某些情况下不能使用,需要将网站全部迁移到 b.com,那么我们这个时候 就可以对 a.com 进行 301 重定向,这样 a.com(上的权重,SEO 里面的知识)传递到 b.com 上,这个主要用来实现整站迁移

[root@Jiaofy63 ~]# vim /var/www/html/.htaccess

RewriteCond %{HTTP_HOST} ^www.a.com [NC]

RewriteRule ^(.*)$ http://www.qq.com/$1 [R=301,L]

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_783557.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【建站知识】360安全检测出轻微 X-Frame-Options头未设置,iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法...

当然也是因为被360检测到了示&#xff02;X-Frame-Options头未设置&#xff02;&#xff0c;根据360的提示与百度了一些网上的一些资料整理了下&#xff0c;完美解决问题。 首先看下360给出的方案&#xff0c;但么有针对服务器的具体设置&#xff0c;不是每个人对服务器都很懂啊…

《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码

原创文章&#xff0c;欢迎转载。转载请注明&#xff1a;关东升的博客Swift程序不能在Windows其他平台编译和运行&#xff0c;有人提供了一个网站swiftstub.com&#xff0c;左栏是代码编辑窗口&#xff0c;右栏是运行结果窗口。可以在任何平台下编译和运行Swift程序。欢迎关注关…

VS2019新建网站并发布到IIS

发布网站特别注意事项整理 参考&#xff1a; https://blog.csdn.net/qingkaqingka/article/details/87011330 1、控制面板-程序-启动和关闭windows功能 特别注意以下选项要选中&#xff0c;默认是不选中的。 2、vs2019新建项目 3、发布 勾选 在发布期间预编译 这样就不会包含任…

IIS 发布网站无法显示图片

发布网站以后&#xff0c;图片全是叉号。 1、先确认&#xff0c;IIS服务管理器下面没有MIME类型这个选项 2、参考设置权限&#xff0c;&#xff08;我的程序是拷贝过来的&#xff09;&#xff1a; https://blog.csdn.net/yzm272/article/details/86506615 1、第一步打开IIS 控…

PC比电脑好玩的秘密是什么?答案就是因为有这些神奇的网站!

五花八门小工具合集http://www.nicetool.net/ 该网站真的很“乱”&#xff01;因为里面的小功能真的很多&#xff01;无论是Gif制作、证件照换底色、还是搞笑的王思聪微博生成&#xff0c;它都能让你得心意手&#xff01; 根据你的星座推荐电影https://magicmoviesorter.com/ 如…

案例学Python--案例四:Django实现一个网站的雏形(2)

续上篇&#xff0c;用Django创建了一个Web&#xff0c;我们肯定想展示自己的页面&#xff0c;简单点&#xff0c;我们想看到自己的HelloWorld。此处要从项目的配置说起&#xff0c;方法和路径配对了&#xff0c;展现页面分分钟的事情。 先上效果图吧&#xff1a; 项目结构&…

如何给网站添加SSL证书(免费)?

2019独角兽企业重金招聘Python工程师标准>>> 本篇只针对各位网站管理员&#xff09;做网站的一般都希望自己的网站有SSL证书&#xff0c;因为SSL可以使浏览者以加密的方式浏览网站&#xff0c;保证浏览者的隐私&#xff0c;同时还能提高网站的SEO。本文就教你如何给…

通过图片优化,我将网站大小减少了62%

图片是Web提供的最基本的一种内容类型。人们都说一张图片胜过千言万语。但如果你一不小心&#xff0c;它也可能占用你好几兆带宽。 虽说Web图像应该尽可能清晰明快&#xff0c;但文件大小必须是可管理的&#xff0c;以便保持较快的加载速度&#xff0c;并且应该将数据使用保持在…

Hadoop网站日志数据清洗——正则表达式实现

周旭龙前辈的Hadoop学习笔记—网站日志分析项目案例简明、经典&#xff0c;业已成为高校大数据相关专业的实验项目。上周博主也完成了这个实验&#xff0c;不同于周前辈使用特殊符号切割字符串得到数据的做法&#xff0c;博主使用了正则表达式来匹配数据。在此将我的思路及代码…

网站开发流程以及HTML5简介(八)

2019独角兽企业重金招聘Python工程师标准>>> 第一大原因&#xff1a; 它是未来&#xff0c;开始用吧&#xff01; 最大的原因今天你就开始使用HTML5是因为它是未来&#xff0c;不要掉队了&#xff01;HTML5不会往每个方向发展&#xff0c;但是更多的元素已经被很多公…

编写python爬虫采集彩票网站数据,将数据写入mongodb数据库

1.准备工作&#xff1a; 1.1安装requests: cmd >> pip install requests 1.2 安装lxml: cmd >> pip install lxml 1.3安装wheel: cmd >> pip install wheel 1.4 安装xlwt: cmd >> pip install xlwt 1.5 安装pymongo: cmd >> pip install pymon…

中国电信北京研究院发布“2016年上半年网站安全报告”

提要&#xff1a;中国电信北研院副院长陈运清在致辞中表示&#xff0c;信息安全已经上升到国家战略高度&#xff0c;随着“互联网”时代到来&#xff0c;以及互联网新业务和新技术的快速发展&#xff0c;信息安全防护的要求越来越高。中国电信充分利用遍布全网的智能管道、丰富…

.NET也有春天及高性能网站架构实践

.NET也有春天及高性能网站架构实践 在本次专访之前&#xff0c;笔者一直都对.NET这个平台有所偏见&#xff0c;或者说是看不到.NET的优势&#xff0c;对Java Web、PHP、Ruby等更加看好&#xff0c;而之后SSH、RoR、LAMP等的流行也让笔者对这个观点更加坚信。然而在浏览完赵桂华…

推荐8个超棒的学习 jQuery 的网站

推荐8个超棒的学习 jQuery 的网站 根据国外科技网站 W3Techs 一项调查了近100万个网站数据显示&#xff0c;jQuery是目前最流行的 JavaScript 库。对于初学者来说&#xff0c;有的时候很难找到一个好的学习jQuery的网站&#xff0c;所以本文收集了8个很棒的 jQuery 学习网站推…

自学宝典:10个学习Android开发的网站推荐

自学宝典&#xff1a;10个学习Android开发的网站推荐 1. Android Developers 作为一个Android开发者&#xff0c;官网的资料当然不可错过&#xff0c;从设计&#xff0c;培训&#xff0c;指南&#xff0c;文档&#xff0c;都不应该错过&#xff0c;在以后的学习过程中慢慢理…

利用squid反向代理提高网站性能

利用squid反向代理提高网站性能本文在介绍 squid 反向代理的工作原理的基础上&#xff0c;指出反向代理技术在提高网站访问速度&#xff0c;增强网站可用性、安全性方面有很好的用途。作者在具体的实验环境下&#xff0c;利用 DNS 轮询和 Squid 反向代理技术&#xff0c;实现了…

MalwareMustDie关闭博客网站 抗议NSA利用恶意软件攻击公共机构

近期&#xff0c;国外一篇博客披露&#xff0c;著名的反恶意软件组织MalwareMustDie决定关闭其博客网站&#xff0c;以抗议NSA&#xff08;美国国家安全局&#xff09;利用黑客工具入侵无辜国家的教育和公共服务器。 文章指出&#xff0c;Shadow Brokers&#xff08;影子经纪人…

阿里云 配置网站 安装nginx 访问不了公网ip

转载自&#xff1a;https://blog.csdn.net/LJFPHP/article/details/78670459 一、开始找原因 在浏览器输入&#xff1a;http://ip&#xff0c;正常的话&#xff0c;会有页面&#xff0c;welcome to nginx 我这里是浏览器访问失败&#xff0c; 查找原因&#xff1a; 1、在服…

asp.net免费网站三剑客:WebMatrix + MojoPortal + SQLCE

一个免费发布软件&#xff0c;一个免费CMS&#xff08;内容管理系统&#xff09;&#xff0c;一个免费数据库&#xff0c;正好完成一个免费软件的部署。大致过程&#xff1a;1. 先从这里找到MojoPortal的CE版本&#xff1a;http://mojoportal.codeplex.com/releases/view/64508…

用户体验分析:以 “师路南通网站” 为例

作业目标&#xff1a; 对比UMU学习平台、学生安全教育平台&#xff0c;针对师路南通&#xff0c;开展UX分析。基于实例分析&#xff0c;体会用户体验设计的7条准则 作业要求&#xff1a; 基于我们列出的 7 条UX评价准则&#xff0c;分析“师路南通” 在用户体验设计方面让你觉得…