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:欢迎支持一下我的网站:点击浏览

转载于:https://www.cnblogs.com/chenshuo/p/4709240.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值