环境: 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加载的就是该目录下所有的配置文件。而a2dissitea2ensite这两个动作,能更好的管理我们的虚拟主机。

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 虚拟主机、模块重写、隐藏入口文件配置的更多相关文章

  1. U盘安装ubuntu server 14.04

    U盘安装ubuntu server 14.04 U盘安装ubuntu server 14.04 1.制作启动u盘 2.开始安装 1 将u盘插入主机,重启后从u盘启动 2 选择语言(随便挑,随便选),我 ...

  2. Ubuntu Server 14.04 集成

    方便工作出差显示项目整合了下平时常用软件: OS: Ubuntu Server 14.04 VM:VMware Workstation 12.1.0 (不同版本好像会不兼容) 已经安装软件: 1. s ...

  3. 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 ...

  4. 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 ...

  5. Ubuntu Server 14.04 下root无法ssh登陆

    今天安装了Ubuntu Server 14.04   在终端配置了root密码后,使用SecureCRT和putty竟然不能ssh登陆,SecureCRT一直提示密码不对,但是可以肯定输入的密码100 ...

  6. Ubuntu server 14.04 交叉编译Unicorn-engine

    Ubuntu server 14.04 交叉编译Unicorn-engine 编译的过程基本上按照的是unicorn/COMPILE-WINDOWS.md描述的进行编译的,不过还是改了一些地方.在Ub ...

  7. Ubuntu Server 14.04在VMware安装的一些事儿

    这几天一直在折腾Ubuntu Server 14.04,故记录下: 安装前的准备: 1.建议安装英文版,像15.04.16.04等安装中文版时存在bug,而且中文版字体显示也有问题. 2.Ubuntu ...

  8. 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什么好 ...

  9. 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 ...

随机推荐

  1. redhat 安装GCC-4.8.3

    1.下载gcc-4.8.3安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/ yum install gccyum install gcc-c++ 2.将gcc-4. ...

  2. C语言 - pthread

    pthread_create函数 原型:int  pthread_create((pthread_t  *thread,  pthread_attr_t  *attr,  void  *(*start ...

  3. c语言库函数

    #include <stdio.h> #define LENGTH 100 main() { FILE *fd; char str[LENGTH]; fd = fopen("he ...

  4. POJ 2082Lost Cows<>

    题意: 给出一个序列a[1....n],a[i]代表在0....i-1中比a[i]小的个数. 求出这个序列. 思路: 1:暴力. #include<cstdio> #include< ...

  5. 【转】HBase技术介绍 转载自 http://www.searchtb.com/2011/01/understanding-hbase.html

    HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. HB ...

  6. java 子类继承父类成员变量的隐藏、实现方法的重写

    成员变量的隐藏和方法的重写 Goods.java public class Goods { public double weight; public void oldSetWeight(double ...

  7. PAT (Advanced Level) 1101. Quick Sort (25)

    树状数组+离散化 #include<cstdio> #include<cstring> #include<cmath> #include<map> #i ...

  8. HDU 2668 Daydream

    用一个队列来维护 每次加入一个字符,如果字符没有在队列里,那么直接入队,并且检查更新队列大小. 如果加入的字符在队列里了,那么要一直弹出队首,直到弹出的字符和当前要插入的一样. #include< ...

  9. 强制性输出private中变量的三种方法

    众所周知,private里面的变量不可以输出,但是也可以通过特殊途径获得. 1.通过指针暴力内存,把它索罗出来,方法:调试,破掉语法. 并且还可以对类对象进行修改. // Thread.cpp : 定 ...

  10. CF 476 div2 C

    http://www.codeforces.com/contest/476/problem/C   C. Dreamoon and Sums time limit per test 1.5 secon ...