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

结果点击一个链接直接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下,我都能轻松找到问题所在了!

时间: 2024-10-11 13:03:51

CentOS下.htaccess不起作用的解决方法_Linux的相关文章

CentOS下yum安装缺少kernel-headers的解决方法

  centos出现Missing Dependency :kernel-header 的解决方法,在此记下 错误信息如下: 代码如下: glibc-headers-2.5-81.el5_8.2.x86_64 from updates has depsolving problems --> Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-81.el5_8.2.x86_64 (u

jQuery:delegate中select()不起作用的解决方法

 本篇文章只要是对jQuery:delegate中select()不起作用的解决方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jQuery有一个很好用的delegate(事件委派)功能,可以给当前以及将来(动态添加)的元素绑定一个事件处理函数.   比如下面的例子,动态添加一个输入文本框后,我想让所有文本框(不管是不是动态添加的)在获取焦点时,自动转大写.   代码如下: <!doctype html> <html> <head>     <

在Android开发中替换资源图片不起作用的解决方法_Android

现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片. 原因 在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi.drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下.在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bi

jsp页面中表达式语言中的$符号不起作用的解决方法_JSP编程

今天myeclipse里部署了之前做的一个测试项目,发现jsp里的$符号tomcat启动后页面上显示出来了,百度搜了下别人也有类似的问题出现过.经提醒原来是web.xml配置的version设置的是2.5而我tomcat5启动的.是tomcat的版本低于web的版本,从而导致$符号不能正常使用. 后将tomcat5改用tomcat6.jdk采用1.6 启动spring2.5项目.$显示问题解决. 以下是网上摘录的详细说明: 在jsp页面中用表达式语言中的$符号,如${pageScope.titl

ThinkPHP下表单令牌错误与解决方法分析

本文实例讲述了ThinkPHP下表单令牌错误与解决方法.分享给大家供大家参考,具体如下: 在项目的开发过程中,添加.编辑数据时偶尔会遇到系统提示的"表单令牌错误",一开始没怎么在意,直到今天下午QA把此问题提到bug系统了,正好时间也有空余,就追着TP3.13的源码看了下去,几分钟后,便知道原委了. 在项目中开启表单令牌,通常要在配置文件中做如下配置 // 是否开启令牌验证 'TOKEN_ON' => true, // 令牌验证的表单隐藏字段名称 'TOKEN_NAME' =&g

在Android开发中替换资源图片不起作用的解决方法

现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是使用的是原来的资源图片. 原因 在开发过程中,由于使用模拟器测试了程序,在首次运行后会将res文件夹下的图片资源文件(如drawable-hdpi.drawable-ldpi和drawable-mdpi)拷贝到bin文件夹下.在替换资源图片后,eclipse并不清楚是否有图片改变,所以会使用原来bi

Win 8系统下IE10不能兼容网站的解决方法

其实IE10在兼容性上为了避免网站的兼容性,集成了IE9IE8IE7等多种预览模式.下面就是具体的Win 8系统下IE10不能兼容网站的解决方法: a.打开游览器预览页面,当页面不兼容的时候,按下键盘F12调出"开发人员工具". b.然后选择"游览模式:IE10",弹出IE10IE9IE8IE7,等多项游览模式供大家选择.

win7下office2007打不开的解决方法

  win7下office2007打不开的解决方法          解决方法1: 1.首先我们要确定自己的word版本是不是过低了.我们点击开始,然后点击所有程序; 2.找到microsoft office,点击它; 3.我们可以看到自己的office版本了.如果你的版本是2003,你需要进一步解决版本兼容问题; 4.你需要更新自己的软件或者安装一个兼容包,你可以参考百度经验<怎样使Word2010版本的文档在较低版本下打开>获得更加详细的步骤.word2010的文档和2007是一样的doc

IE下Ajax缓存问题的快速解决方法

 IE下Ajax缓存问题的快速解决方法(get方式).网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案.主要分为客户端解决和服务端解决 折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求.百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对   其进行缓存了.网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案.主要分为客户端解决和服务端解决.   1.客户端解决方案 IE访问策略:Internet选项--浏览历史记录--设置