Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置
环境: Ubuntu Server 14.04 , Apache2.4
一、Apache2.4 虚拟主机配置
01. 新建一份配置文件
在apache2.4中,虚拟主机的目录是通过/etc/apache2/sites-available中配置的,默认情况下,apache有一个默认的虚拟主机文件叫000-default.conf。我们将会复制000-default.conf文件内容到我们新的虚拟主机配置文件中。
代码如下:
sudo cp /etc/apache2/sites-available/-default.conf /etc/apache2/sites-available/web.conf
02. 编辑该配置文件,用来指向刚才设定的目录。
代码如下
sudo vim /etc/apache2/sites-available/web.conf
03. 编辑配置文件
编辑后的配置文件(web.conf)如下(删除了额外的注释):
<Directory /var/www>
Options FollowSymLinks
AllowOverride All # All 选项是待会开启“模块重写”需要用到 如果不需要则为 None
Require all granted
DirectoryIndex index.html index.htm index.php
</Directory>
# ----------------------- myweb-------------------------#
<VirtualHost *:80>
ServerName www.zuqiux.com
ServerAdmin chenshuox@126.com
DocumentRoot /var/www/zuqiu
ErrorLog ${APACHE_LOG_DIR}/error-web.log
CustomLog ${APACHE_LOG_DIR}/access-web.log combined
</VirtualHost>
04. 重启apache服务器:
sudo service apache2 restart
05. 建立软连接
修改虚拟主机文件后,禁用默认的虚拟主机配置(000.default.conf),然后启用新的虚拟主机配置,如下所示。
sudo a2dissite -default.conf //这一步不是必须的
sudo a2ensite web.conf
这一步,将激活web.conf配置文件。他的作用是生产一份链接到/etc/apache2/sites-enabled/,为什么这样做呢,因为实际上apache2加载的就是该目录下所有的配置文件。而a2dissite和a2ensite这两个动作,能更好的管理我们的虚拟主机。
06. 重启apache2服务器:
sudo service apache2 restart
二、加载Rewrite 模块
01. 开启rewrite扩展
sudo a2enmod rewrite //开启rewrite扩展
02. 指确定允许存在于.htaccess文件
修改一些东西:
sudo vi /etc/apache2/sites-enabled/web.conf
将其中所有的AllowOverride None 修改成 AllowOverride All .(如果已经为All 则无须修改)
特别注意:
01. a2ensite可以激活apache文件夹下sites-available里包含配置文件的站点
02. 如果是后来加入模块重写并且修改了 web.conf,加入.htaccess 文件可能出现500错误,这时候需要重新执行命令
sudo a2ensite web.conf
03. 如果你是用的是PHP代码,上述问题操作都正确的情况下,仍然出现‘500错误,服务器错误’,这是由于你的PHP程序有错误,但是PHP默认关掉了错误提示,导致‘500错误’,解决办法:
将/etc/php5/apache2/php.ini文件中的
display_errors = Off
修改为:
display_errors = On
根据提示修改PHP错误即可,等调试完成上线后,修改为Off
三、隐藏index.php入口文件
01. 新建htaccess文件
在站点根目录下新建.htaccess文件,然后写入如下规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$ [L]
02. 重启Apache
sudo service apache2 restart
AD:欢迎支持一下我的网站:点击浏览
Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置的更多相关文章
- U盘安装ubuntu server 14.04
U盘安装ubuntu server 14.04 U盘安装ubuntu server 14.04 1.制作启动u盘 2.开始安装 1 将u盘插入主机,重启后从u盘启动 2 选择语言(随便挑,随便选),我 ...
- Ubuntu Server 14.04 集成
方便工作出差显示项目整合了下平时常用软件: OS: Ubuntu Server 14.04 VM:VMware Workstation 12.1.0 (不同版本好像会不兼容) 已经安装软件: 1. s ...
- Ubuntu Server 14.04升级Ubuntu Server 16.04
Ubuntu Server 14.04升级Ubuntu Server 16.04 :转 http://blog.csdn.net/chszs 1.终端下执行命令 $ sudo apt-get upda ...
- u盘安装ubuntu server 14.04 以及No CD-ROM drive was detected 错误
u盘安装ubuntu server 14.04 1:下载ubuntu server14的 iso镜像文件 2:下载 UltraISO U盘镜像制作工具 : 3:使用Ultra iOS 将下载好的 is ...
- Ubuntu Server 14.04 下root无法ssh登陆
今天安装了Ubuntu Server 14.04 在终端配置了root密码后,使用SecureCRT和putty竟然不能ssh登陆,SecureCRT一直提示密码不对,但是可以肯定输入的密码100 ...
- Ubuntu server 14.04 交叉编译Unicorn-engine
Ubuntu server 14.04 交叉编译Unicorn-engine 编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方.在Ub ...
- Ubuntu Server 14.04在VMware安装的一些事儿
这几天一直在折腾Ubuntu Server 14.04,故记录下: 安装前的准备: 1.建议安装英文版,像15.04.16.04等安装中文版时存在bug,而且中文版字体显示也有问题. 2.Ubuntu ...
- Ubuntu Server 14.04 LTS(64bit)已安装 weblogic Server 12c(12.1.3) Zip Distribution
这里说的对Ubuntu Server 14.04 LTS(64bit)已安装weblogic Server 12c(12.1.3) Zip Distribution遇到的问题.至于Windows什么好 ...
- ubuntu server 14.04 上安装jdk1.8
ubuntu server 14.04 上安装jdk1.8 1.使用apt-get安装oracle-jdk安装oracle jdk sudo apt-get install python-softwa ...
随机推荐
- Android学习笔记之Spinner
pinner就相当于Html中的下拉列表框,在下面的例子里我们共同学习一下spinner的使用. 属性: 属性名称 描述 android:prompt 该提示在下拉列表对话框显示时显示.(译者注:对话 ...
- 收缩sql server数据库日志
项目中,可能数据库(sql server数据库)日志太多,占了很多磁盘空间,可以通过收缩数据库日志,减少日志文件大小. 下面以Northwind数据库为例: 1.把数据库的恢复模式设置为“简单模式”: ...
- C#后台绑定ComboBox
C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...
- 使用btoa和atob来进行Base64转码和解码
btoa: 将普通字符串转为Base64字符串 atob: 将Base64字符串转为普通字符串 说明:window.btoa不支持汉字: ===>使用window.encodeURI ...
- OpenCV 基础知识------图像创建、访问、转换
cvCreateImage函数-- Cxcore数组操作 创建头并分配数据 IplImage* cvCreateImage( CvSize size, int depth, int channels ...
- 把vim变成C编辑器
转载一篇博客,地址是http://my.oschina.net/kutengshe/blog/423497
- druid 文档 和 源码地址
Druid文档 :https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 maven仓库:http://c ...
- 【转载】GDI 映像方式 之 SetViewportOrgEx 与 SetWindowOrgEx 解析
SetViewportOrgEx 与 SetWindowOrgEx 解析 这两个函数,用来改变视端口和窗口的原点,并都具有改变轴的效果,以致(0,0)不再指左上角. 「视端口」是依据设备坐标(图素)的 ...
- Java中域 实例域 静态域
1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性. 比如类的字段(属性),局部的,全局的.所谓域,其实是“field”的翻译 然后实例域,就是 实例(&qu ...
- struts2+ajax实现异步验证实现
由于老师布置作业的需要,在添加管理员的时候,要实现验证添加的管理员的用户名是否在数据库中已经存在,然后再客户端给用户一个提示.我首先想到的就是利用ajax实现异步验证技术,由于利用的ssh框架,所以在 ...