CentOS下.htaccess不起作用的解决方法

PHP 5.2的问题解决后,现在就是安装WordPress了。装好了没有任何问题,接下来继续配置WordPress,开启静态URL链接。然后手动编辑了.htaccess文件,将WordPress生成的相关代码拷贝进去了。
结果点击一个链接直接404 Not Found。悲剧,看来Apache的Rewrite部分有问题了,完全无视掉了.htaccess文件!经过检查Apache的模块,发现Rewrite模块是开启的状态,看来是httpd.conf文件中的配置有点问题了。回想起之前在Ubuntu Server下配置Rewrite也是启用了一个叫做“AllowOverride”的属性为“All”才正确开启了Rewrite,这次手动配置VirtualHost的时候并没有写上这两句,看来就是这个问题了。

立马输入 :

#vim /etc/httpd/conf/httpd.conf
找到自己的VirtualHost设置部分,添上

<Directory />
AllowOverride All
</Directory>
上面这段的Directory /的“/”为你的www路径,如放在“/var/www/html”路径下就写为“<Directory /var/www/html>”,以此类推。保存后重启httpd服务:

#/etc/init.d/httpd restart
再次进入WordPress,点击一个链接,成了!问题解决。看来这个“AllowOverride”很不简单啊!于是上网找了一圈,发现这个是控制.htaccess的关键点所在。除了需要在Apache中打开Rewrite,以及正确设置.htaccess文件名之外,还需要对目录的AllowOverride进行配置,因为默认情况下AllowOverride值为None,这样会完全忽略.htaccess文件。

此外,除了All和None这两个值之外,AllowOverride还有很多个值,他们的含义分别如下:

AuthConfig
允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。

FileInfo
允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

Indexes
允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

Limit
允许使用控制主机访问的指令(Allow, Deny, Order)。

Options[=Option,...]
允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。

这样以来,加上All和None,一共是7个可选的值了。看来又增长了不少的见识呀!以后再出现类似问题,不管哪个Linux下,我都能轻松找到问题所在了!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
由于我目前的空间支持.htaccess,这篇文章很全面的介绍了.htaccess的功能以及.htaccess写法,同时里面也讲了关于url_rewrite的东西,于是转过来,觉得挺有用处的。
.htaccess文件 子目录绑定二级域名
重新开放了Minidx帮助论坛,虽然目前没什么内容,不过顺便想SEO一下,实现伪静态链接。
在确定您的服务器支持伪静态ReWrite后,您可以通过修改设置.htaccess文件来实现Discuz论坛的伪静态功能
在利用.htaccess的Rewrite规则实现Discuz论坛的伪静态链接中已经提到过了.htaccess的重定向的使用,这里让我们来比较全面的了解一下.htaccess吧。