环境: 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. xmlHTTP技术资料

    一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理 ...

  2. 【jsp 分页】mysql limit方式进行分页

    项目结构示意图: splitPage |-com.balfish.bean     Goods.java |-com.balfish.dao       GoodsDao.java |-com.bal ...

  3. C++对文件进行加密解密

    1. 起因: 需要对游戏资源进行加密 2. 解决方案: 通过网络查询,xxtea是一款轻量级的加密工具,使用简单方便 3. 加密解密 xxtea只有两个函数,加密:xxtea_encrypt 解密:x ...

  4. 华哥倒酒<区间标记,二分>

    题目链接 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; t ...

  5. myeclipse中常用的快捷键

    存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shi ...

  6. php薪资

    2千的php程序员就是可以用cms,做一个小企业的门户网站. 3千的php程序员,可以自己写代码开发php软件,但是这样程序员写的代码非常混乱,通常只能写数千行代码的小软件,并且痛苦的完工. 4K的p ...

  7. Loadrunner之文件的下载(八)

    老猪提供: https://mp.weixin.qq.com/s?__biz=MzIwOTMzNDEwNw==&mid=100000013&idx=1&sn=624f5bc74 ...

  8. android 代码动态创建视图

    LinearLayout 如何动态设置 margin? LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayou ...

  9. push以及pop,shift,unshift

    压入数组:往数组后面加:push         arr.push()返回值为添加后数组的长度 往数组前面加:unshift     arr.unshift()返回值为添加后数组的长度 拿出数组:拿掉 ...

  10. 转:loadrunner ---循环输出关联数组

    web_reg_save_param,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里.在本例中,假设关联值返回三条记录,则LR分别将值保存到sor_1,sor_2,so ...