birk 发表于 2018-11-23 08:12:06

ubuntu中开启apache的.htaccess支持

  网上提供了很多开启方法,但是按照上面的方法却不能实现,在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.
  保存为a.html,同样放置在根目录下。
  3.我们键入地址,比如http://localhost/a.html,看是否能出现"Yes, This is a test ", 如果能则我们所做的修改时成功的,如果显示空白,则没有成功,请检查刚才所做的步骤,或者是查找其他的原因。
  

  =======================================================================================
  补充:
  在ubuntu上调试没有问题,但是放到linux/SUSE上就会显示403 forbidden, 则可以尝试在.htaccess文件的开头加上
Options +SymLinksIfOwnerMatch
  看是否能解决问题。



页: [1]
查看完整版本: ubuntu中开启apache的.htaccess支持