为何Apache下.htaccess不起作用,Linux、Windows详解
2016-07-11 14:07
323 查看
可能出现下面这三种的错误可能性:
第一种:启用 rewrite 和 .htaccess 设置
rewrite设置:找到apache的配置文件httpd.conf文件,找到:#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#号。
改为:LoadModule rewrite_module modules/mod_rewrite.so
.htaccess设置:
Windows里面这样设置:AccessFileName htaccess
Linux里面这样设置:AccessFileName .htaccess。
Linux比Windows里面文件名前面多了一个点。如果没找到AccessFileName自己在httpd.conf文件最后面加上。
第二种:AllowOverride 的设置。
默认AllowOverride 为AllowOverride none。把这个改为:AllowOverride All。如果配置了多个虚拟目录需在每个目录里面开启,实例:
第三种:Options 的设置
默认设置是:Options Indexes FollowSymLinks
如果改成以下设置后,就会出错
Options Indexes FollowSymLinks MultiViews Includes (出错)
如果要启用,目录浏览 MultiViews
服务器端包含 Includes (<!–#include virtual=”top.htm” –>)
为了简单可以设置为:Options All
前两种是配置中常见的错误,第三种一般少见,最后提醒大家一下,记得配置文件改好后一定要重启服务器啊。
第一种:启用 rewrite 和 .htaccess 设置
rewrite设置:找到apache的配置文件httpd.conf文件,找到:#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#号。
改为:LoadModule rewrite_module modules/mod_rewrite.so
.htaccess设置:
Windows里面这样设置:AccessFileName htaccess
Linux里面这样设置:AccessFileName .htaccess。
Linux比Windows里面文件名前面多了一个点。如果没找到AccessFileName自己在httpd.conf文件最后面加上。
第二种:AllowOverride 的设置。
默认AllowOverride 为AllowOverride none。把这个改为:AllowOverride All。如果配置了多个虚拟目录需在每个目录里面开启,实例:
<VirtualHost *:80>
DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/root/"
ServerName 127.0.0.1:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/root/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/"
ServerName 127.0.0.2:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/root/"
ServerName 127.0.0.1:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/root/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:/SvnTrac/svn/SVNRepository/www/"
ServerName 127.0.0.2:80
DirectoryIndex index.html index.htm index.php index.shtml
<Directory "D:/SvnTrac/svn/SVNRepository/www/">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
第三种:Options 的设置
默认设置是:Options Indexes FollowSymLinks
如果改成以下设置后,就会出错
Options Indexes FollowSymLinks MultiViews Includes (出错)
如果要启用,目录浏览 MultiViews
服务器端包含 Includes (<!–#include virtual=”top.htm” –>)
为了简单可以设置为:Options All
前两种是配置中常见的错误,第三种一般少见,最后提醒大家一下,记得配置文件改好后一定要重启服务器啊。
相关文章推荐
- CentOS Linux系统下更改Apache默认网站目录
- apache commons fileupload JIRA报告(2016-05-27更新)
- apache commons fileupload 可靠性报告(2016-07-01更新)
- apache commons fileupload 变更记录(2016-07-01更新)
- apache commons fileupload 生成报告(2016-07-01更新)
- 双向认证第一步:Mac OS X中Apache开启ssl
- org.apache.ibatis.builder.xml.IncompleteStatementException: Could not find result map java.util.Map
- Apache 服务启动不了
- ubuntu 卸载lamp
- Apache Tiles的基本使用
- 在 Web 项目中应用 Apache Shiro
- 一个简单的AXIS远程调用Web Service示例
- 使用CXF框架开发WebService客户端
- Excel表单的读取与处理 PHPExcel与Apache POI
- apache服务器的安装与使用
- apache的配置优化
- apache配置VirtualHost(windows)
- Centos6.5搭建Django-1.8.3+mod_wsgi+Apache环境
- Linux下的Apache和PHP安全设置,如何开启PHP的安全模式
- apache 开启压缩功能