zoukankan      html  css  js  c++  java
  • 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/000-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 000-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/$1 [L]

    02. 重启Apache

    sudo service apache2 restart  

     AD:欢迎支持一下我的网站:点击浏览

  • 相关阅读:
    Oracle学习(十四):管理用户安全性
    Android在发送带有附件的邮件
    Naive Bayes Classification
    java大全经典的书面采访
    安卓实现实时视频传输
    TCP:三次握手,URG、ACK、PSH、RST、SYN、FIN 含义
    SYN(synchronous)TCP/IP
    面向对象、面向过程与哲学
    面向过程和面向对象的哲学基础
    面向过程
  • 原文地址:https://www.cnblogs.com/chenshuo/p/4709240.html
Copyright © 2011-2022 走看看