您的位置:首页 > 运维架构 > Apache

ubuntu中开启apache的.htaccess支持

2014-02-27 17:26 211 查看
网上提供了很多开启方法,但是按照上面的方法却不能实现,在http://waibo.net/2011/09/26/649.html发现了很好的方法,分享给大家,顺便附上最后的验证是否成功的方法。
我是在使用CI框架,因为登录的时候验证码不显示,而在本地没有问题,找来找去有如下几个问题:
1.验证码图片目录的写权限问题。
解决方法:设置一下该目录的权限。
2.CI的路由配置文件,因为本地没有问题,于是开始考虑服务器上的apache对.htaccess文件的支持问题,接着就找了很多方法,但是由于确实最后两步,所以并不能解决问题,先现在把它作为解决方案转载如下:
原文链接:http://waibo.net/2011/09/26/649.html

于是google,找到解决方案。原来是Apache的rewrite目录权限问题。
那么,让我们来看看如何配置rewrite:
1.打开Apache的配置文件――http.conf
vi /etc/apache2/extra/httpd-vhost.conf
LoadModule rewrite_module modules/mod_rewrite.so

2.执行
a2enmod rewrite
,显示ok则正确。
3.
vi /etc/apache2/sites-enabled/000-default
,找到网站节点的那一行
将其中的:
AllowOverride None
,修改为:
AllowOverride All

4.重启
/etc/init.d/apache2 restart


验证方法:
1.在网站根目录创建.htaccess文件,内容如下:
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
该文件的作用在于把文件的后缀名.html .htm等改成.php,这样我们就可以在html文件里写一个简单的php程序,看看能不能显示php的运行结果。
2.
<?php
echo "Yes, This is a test.";
?>
保存为a.html,同样放置在根目录下。
3.我们键入地址,比如http://localhost/a.html,看是否能出现"Yes, This is a test ", 如果能则我们所做的修改时成功的,如果显示空白,则没有成功,请检查刚才所做的步骤,或者是查找其他的原因。

=======================================================================================
补充:
在ubuntu上调试没有问题,但是放到linux/SUSE上就会显示403 forbidden, 则可以尝试在.htaccess文件的开头加上
Options +SymLinksIfOwnerMatch
看是否能解决问题。
本文出自 “zhangbobell” 博客,请务必保留此出处http://zhangbobell.blog.51cto.com/7655227/1364529
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: