Ubuntu Apache2配置及开启mod_rewrite模块

2020-04-17  本文已影响0人  bennyxu

刚刚将服务器系统从CentOS换成Ubuntu,将MySQL,Apache,PHP和Wordpress安装好后,发现打开主页是正常的,但是打开文章页面时出现错误。因为使用了自定义的固定链接设置,那自然是Apache的rewrite功能出现了问题。打开/etc/apache2这个目录准备修改配置文件时,发现以前用的httpd.conf这个文件是空的。反倒是多了很多其他的目录。那么Google吧。
Apache配置说明查看 https://help.ubuntu.com/12.04/serverguide/httpd.html
其中几个文件及目录的作用是:
apache2.conf:Apache的主要配置文件,包含全局配置。 conf.d:Apache全局配置文件,其他需要使用Apache的包可以在这个目录下创建文件或者链接。 envvars:Apache2环境变量设置。 httpd.conf:遗留的Apache2主要配置文件。这个文件是空的,其中的配置选项都转移到其他配置文件里了。这个文件可以进行Apache全局配置。 mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。 mods-enabled:持有/etc/apache2/mods-available目录下文件的链接,当该目录下有一个模块文件和其配置文件,那么Apache重启后该模块将生效。 ports.conf:配置Apache监听的端口。 sites-available:这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。 sites-enabled:持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。

结合以上配置说明可以发现Apache的配置文件非常的模块化,启用模块、虚拟主机都非常的简单。
下面是启用mod_rewrite模块的方法。
第一种方式:
sudo a2enmod rewrite

第二种方式:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

不管使用哪种方法,都是在 /etc/apache2/mods-enabled
这个目录下面建立了一个链接,只要重启服务器之后就可以生效。 当然要使rewrite生效,还需要修改额外的配置:
sudo vim /etc/apache2/sites-enabled/000-default

将其中的 AllowOverride None 修改为 AllowOverride All,然后重启服务器即可。
sudo /etc/init.d/apache2 restart

安装完成后,进入到/etc/apache2中(根据自己的实际安装目录),这边我配置文件在/etc/apache2中。
我们看到没有想象中的httpd.conf配置文件,这里要说明的是apache2的配置文件是apache2.conf,而不是http.conf。
打开apache2.conf。写入两条语句
ServerName localhost
DirectoryIndex index.html index.htm index.php
这里的ServerName localhost是为了防止最后开启apache2服务的时候会提示DNS出错。
DirectoryIndex index.html index.htm index.php是默认目录的写法。保存退出。
可以在apache2.conf中加入 AddDefaultCharset GB2312
设置默认字符集,定义服务器返回给客户机默认字符集(由于西欧UTF-8是Apache默认字符集,因此当访问有中文的网页时会出现乱码,这时只要将字符集改成GB2312,再重启Apache服务即可)
Listen 192.168.1.1:80 设置监听ip是192.168.1.1的地址和端口为80
Listen 192.168.1.2:8080 设置监听ip是192.168.1.2的地址和端口为8080
Alias /down "/sofТWare /download"
创建虚拟目录(创建名为down的虚拟目录,它对应的物理路径是:/sofТWare /download)
Alias /ftp "/var/ftp"
创建虚拟目录(创建名为ftp的虚拟目录,它对应的物理路径是:/var/ftp)
<Directory "/var/www/html">
设置目录权限
(<Directory "目录路径">此次写设置目录权限的语句</Directory>)
Options FollowSymLinks page:116
AllowOverride None
</Directory>

http://jingyan.baidu.com/article/9158e0006581d1a2541228b5.html

上一篇下一篇

猜你喜欢

热点阅读