环境: 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. 在MyEclipse中运行tomcat报错 严重: Error starting static Resources

    严重: Error starting static Resourcesjava.lang.IllegalArgumentException: Document base E:\apache-tomca ...

  2. zf-关于交换工具配置文件,交换的“列名字段”前面加个“0,1,2”的意思。

  3. transform 属性小解

    css中transform包括三种: 旋转rotate(), translate()移动, 缩放scale(), skew()扭曲以及矩形变换matrix() 语法: transform: none ...

  4. 转 oracle 如何停下oracle 服务

    设置SET ORACLE_SID=ORCL ORCL--实例名称 --停止oracle实例服务 C:\Users\Administrator>net stop oracleserviceORCl ...

  5. PE文件格式详解(下)

    作者:MSDN译者:李马 预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text..bss..rdata..data..rsrc..edata..idata..pdata ...

  6. bash和sh区别

    在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数),一般的,sh是bash的“子集”,不是子集的部分. ...

  7. JAVA-面向对象--封装

    1. 如果一个类中没有定义构造函数,会自动加上一个空参的默认构造函数 如果定义了一个构造函数,默认的空参构造函数就没有了. 2. this 当成员变量与局部变量重名的时候,可以使用this来区分.th ...

  8. php Memcached

    PHP 连接 Memcached 服务 在前面章节中我们已经介绍了如何安装 Memcached 服务,接下来我们为大家介绍 PHP 如何使用 Memcached 服务. PHP Memcache 扩展 ...

  9. PullToRefreshGridView上拉加载、下拉刷新

    eclipse中的项目: //注意:此刷新功能是使用的第三方的PullToRefreshScrollView,因此需要导入第三方library作为依赖 步骤:导入第三方library,依赖:点击你的应 ...

  10. Dom+2016/4/20

    元素.parentNode父节点 offsetParent